c# - 哪种是在 Entity Framework 中调用存储过程的最佳方法

标签 c# asp.net-mvc entity-framework

我已经从 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/

相关文章:

asp.net-mvc - 如何在asp.net mvc应用程序中动态更改母版页

c# - 在 Moq 中为返回 void 的方法分配参数

c# - 如何修复此错误?无效方差 : The type parameter 'T' must be invariantly valid on

c# - 有没有这样的RTSP Ping?

c# - 使用 Entity Framework 的 Asp.net GridView 搜索

mysql - 关系数据库设计 - 为支付类型创建一个实体类?

c# - 如果行存在则更新行否则使用 Entity Framework 插入逻辑

c# - Unity Accord.net 加博

c# - 带有 ApplicationPath 的 ASP.NET MVC Action

asp.net-mvc - 无法加载文件或程序集'WebMatrix.Data,版本= 3.0.0.0