使用Entity Framework将存储过程的结果分配到变量中

时间:2015-06-03 20:11:19

标签: c# entity-framework variables stored-procedures

我在使用DataSet ORM时对Entity Framework ORM不熟悉我可以简单地将存储过程结果分配给变量,如

 MyDataSetTblAdapter MyData = new MyDataSetTblAdapter();
 string Result = Mydata.MyStoredProcedure().ToString();

它工作正常..但在实体框架中我正在尝试相同的

OnlineDvdShopDbEntities dbContext = new OnlineDvdShopDBEntities();
String Result = DbContext.SpAddGetUsername().ToString();

请记住,我的存储过程返回单个值

1 个答案:

答案 0 :(得分:0)

这很简单。

    // Initialize dependency to data entities
    private Entities _dataContext;
    public ClassName()
    {
        _dataContext = new Entities();
    }

    public IQueryable<EntityName> MethodName(string filter)
    {
        // Initialize 
        var records = _dataContext.Entity

                 // Constrain your results
                 .Where(
                         x => filter == null
                         || x.Property1.Contains(filter)
                       );
        return records;
    }

如果您只想要一个值,那么您可以使用

var records = _dataContext.Entity.FirstrDefault();

FirstOrDefault()基本上返回符合条件的序列的第一个元素。你也可以使用SingleOrDefault(),然后只需要一个结果。

https://msdn.microsoft.com/en-us/library/vstudio/bb340482%28v=vs.100%29.aspx https://msdn.microsoft.com/en-us/library/vstudio/bb342451%28v=vs.100%29.aspx