2017-10-05 116 views
-1

我正在做一个项目与ASP.net核心。我发现大多数开发人员使用实体框架来处理数据库。我曾与ASP.NET的原始SQL查询。我正在使用SQL SERVER 2014并且必须开发一个REST满API来处理我的数据库。我的数据库由大约50个表格组成。实体框架或只是SQL查询

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

从我的研究,我发现,实体框架已基本两种方法,守则第一数据库第一。我研究了两种方法。我需要知道使用实体框架与正常SQL查询相比的优缺点。 最后是否有影响.net核心与实体框架?

+0

可能重复[代码优先与模型/数据库优先](https://stackoverflow.com/questions/5446316/code-first-vs-model-database-first) – Igor

+0

实际上我问的是实体框架vs SQL查询@Igor – MLPJ

+1

我之间在投票之间被撕裂,因为它太宽泛,太自以为是,或将它标记为愚蠢。你确实提到了Code First和DB First,所以我用了愚蠢的做法,因为你原来的问题没有一个好的答案,而且这个副本有一些很好的信息,所以至少你从中得到了一些东西。 – Igor

回答

0

看来你有一个很大的应用程序,我的建议是你应该使用实体框架,因为你有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>(); 
1

使用的代码先迁移实体框架和从EF存储库模式架构脱钩不使用SQL查询以及限制你有时当你需要时。

0

您的问题将被关闭,因为它太过舆论导向。

但是,个人而言,我极力鼓励使用实体框架。

问题是,如果您在EF中没有经验,那么您将受到学习曲线的影响。这意味着在代码中简单地使用SQL查询将会更容易。也就是说,如果你花时间学会正确使用EF,那么以后可能会很好用。

我经历过实体框架和原始SQL查询,现在我习惯了EF,我觉得它好多了。