我已经从 MS SQL 数据库生成了一个 EF 模型,并且包含了 StoredProcedures 和表。我想在我的项目中实现存储过程。哪种方法具有更多优势?
var data = db.DARs.SqlQuery("db.sp_GetEmployees").ToList();
或
var data2 = db.sp_GetEmployees().ToList();
完整代码如下:
private UniversityEntities1 db = new UniversityEntities1();
public List<DAR> test()
{
var data = db.DARs.SqlQuery("db.sp_GetEmployees").ToList();
var data2 = db.sp_GetEmployees.ToList();
return data;
}
最佳答案
最好使用映射器存储过程而不是调用纯 SQL 文本(在您的示例 data2
中)。
更好,因为 EF 生成的结果行具有您的存储过程返回的特定数据类型。而且您不需要将其映射到您的代码中 - EF 会为您完成。然后您可以像处理包含带类型字段的对象的集合一样处理结果。
关于c# - 哪种是在 Entity Framework 中调用存储过程的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37526766/