C# 使用实体框架将存储过程的结果分配到变量中
我不熟悉实体框架ORM,但使用数据集ORM时,我可以简单地将存储过程结果分配给变量,如C# 使用实体框架将存储过程的结果分配到变量中,c#,entity-framework,variables,stored-procedures,C#,Entity Framework,Variables,Stored Procedures,我不熟悉实体框架ORM,但使用数据集ORM时,我可以简单地将存储过程结果分配给变量,如 MyDataSetTblAdapter MyData = new MyDataSetTblAdapter(); string Result = Mydata.MyStoredProcedure().ToString(); 而且效果很好。。但在实体框架中,我也在尝试同样的方法 OnlineDvdShopDbEntities dbContext = new OnlineDvdShopDBEntities()
MyDataSetTblAdapter MyData = new MyDataSetTblAdapter();
string Result = Mydata.MyStoredProcedure().ToString();
而且效果很好。。但在实体框架中,我也在尝试同样的方法
OnlineDvdShopDbEntities dbContext = new OnlineDvdShopDBEntities();
String Result = DbContext.SpAddGetUsername().ToString();
记住,我的存储过程只返回一个值,这很简单
// 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;
}
FirstOrDefault()基本上返回序列中与条件匹配的第一个元素。如果只需要一个结果,也可以使用SingleOrDefault()
这很直截了当
// 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;
}
FirstOrDefault()基本上返回序列中与条件匹配的第一个元素。如果只需要一个结果,也可以使用SingleOrDefault()
您使用哪种方法?代码优先、模型优先还是数据库优先?数据库优先我使用数据库实体生成模型您使用哪种方法?代码优先、模型优先还是数据库优先?数据库优先我使用数据库实体生成模型您使用哪种方法?代码优先、模型优先还是数据库优先?数据库优先我使用数据库生成模型entities@ShaikhNomanNasir令人惊叹的。如果您满意,请将其标记为答案。你们可以在我的网站上找到更多关于实体框架(数据库优先)的信息,我的声誉不足以给出答案或投票。。对不起,不用担心。我更新了我的答案,解释了FirstOrDefault()和SingleOrDefault()的用法。这些将在使用linq转换实体时有所帮助。ToString()只将实体本身转换为字符串文字。如果您需要空结果的默认值而不是null,您还可以使用
.DefaultIfEmpty(YourCustomDefault)
。FirstOrDefault()对我有用。。我以前也不知道它们的用法:)再次感谢(Y)这并不能回答问题。op询问如何获取存储过程的结果。这个答案显示了如何获得查询实体的结果。@ShaikhNomanNasir。如果您满意,请将其标记为答案。你们可以在我的网站上找到更多关于实体框架(数据库优先)的信息,我的声誉不足以给出答案或投票。。对不起,不用担心。我更新了我的答案,解释了FirstOrDefault()和SingleOrDefault()的用法。这些将在使用linq转换实体时有所帮助。ToString()只将实体本身转换为字符串文字。如果您需要空结果的默认值而不是null,您还可以使用.DefaultIfEmpty(YourCustomDefault)
。FirstOrDefault()对我有用。。我以前也不知道它们的用法:)再次感谢(Y)这并不能回答问题。op询问如何获取存储过程的结果。这个答案显示了如何获得查询实体的结果。@ShaikhNomanNasir。如果您满意,请将其标记为答案。你们可以在我的网站上找到更多关于实体框架(数据库优先)的信息,我的声誉不足以给出答案或投票。。对不起,不用担心。我更新了我的答案,解释了FirstOrDefault()和SingleOrDefault()的用法。这些将在使用linq转换实体时有所帮助。ToString()只将实体本身转换为字符串文字。如果您需要空结果的默认值而不是null,您还可以使用.DefaultIfEmpty(YourCustomDefault)
。FirstOrDefault()对我有用。。我以前也不知道它们的用法:)再次感谢(Y)这并不能回答问题。op询问如何获取存储过程的结果。这个答案显示了如何获得查询实体的结果。