【问题标题】:Entity framework or just SQL queries实体框架或只是 SQL 查询
【发布时间】:2017-10-05 18:32:35
【问题描述】:

我正在使用 ASP.net core 做一个项目。我发现大多数开发人员使用 Entity Framework 来处理数据库。我曾使用 ASP.NET 处理原始 SQL 查询。我正在使用 SQL SERVER 2014 并且必须开发一个 RESTfull API 来处理我的数据库。我的数据库由大约 50 个表组成。

所以我的问题是,哪种方法更适合我的任务,使用实体框架还是使用原始 SQL 查询?

根据我的研究,我发现实体框架基本上有两种方法,代码优先数据库优先。我研究了这两种方法。与普通 SQL 查询相比,我需要了解使用实体框架的优缺点。 最后,实体框架对.net core有影响吗?

【问题讨论】:

  • 实际上我是在询问实体框架与 SQL 查询@Igor
  • 我在投票太宽泛、太固执己见或将其标记为欺骗之间左右为难。您确实提到了 Code First 和 DB First,所以我选择了 dupe,因为您的原始问题不会有一个好的答案并且副本有一些很好的信息,所以至少你可以从中得到一些东西。
  • 我读过那个。还是谢谢

标签: asp.net entity-framework


【解决方案1】:

您似乎有一个大型应用程序,我的建议是您应该使用实体框架,因为您有 LINQ。 (此处的示例:http://www.entityframeworktutorial.net/Querying-with-EDM.aspx)。

使用 LINQ,您可以使用方法而不是字符串来构建查询。

使用 LINQ:

var L2EQuery = context.Students.where(s => s.StudentName == "Bill");

使用原生 SQL:

var studentName = ctx.Students
                     .SqlQuery("Select studentid, studentname, standardId 
                                from Student 
                                where studentname='Bill'")
                     .FirstOrDefault<Student>();

【讨论】:

    【解决方案2】:

    将实体框架与代码优先迁移和与 ef 存储库模式架构解耦并不会限制您有时在需要时使用 sql 查询。

    【讨论】:

      【解决方案3】:

      您的问题将被关闭,因为它过于以意见为导向。

      但是,就个人而言,我非常鼓励使用实体框架。

      问题是,如果您完全没有 EF 经验,那么您将经历一段学习曲线。这意味着您仍然可以更轻松地在代码中使用 SQL 查询。也就是说,如果您花时间正确地学习如何使用 EF,那么以后可能会有用处。

      我体验过实体框架和原始 SQL 查询,现在我习惯了 EF,我发现它好多了。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-10-23
        • 2012-03-09
        • 1970-01-01
        相关资源
        最近更新 更多