存储过程方式或Entity Framework方式连接数据库

时间:2017-02-04 04:53:07

标签: c# entity-framework stored-procedures asp.net-mvc-5

我应该使用哪种方式在C#ASP.NET MVC 5中创建可伸缩系统?

我应该使用存储过程方式还是Entity Framework方式连接数据库?

我们的一位主管坚持使用存储过程方式,即使是所有插入,删除,搜索等。

在性能方面哪一个更好?我想创建一个在线试卷,一次约500人,每个人都有50个问题。

5 个答案:

答案 0 :(得分:0)

我认为您可以参考问题Entity Framework Vs Stored Procedures - Performance Measure

如果开发时间不是标准,那么您可以使用存储过程。使用存储过程还有许多其他问题,例如可维护性,编写测试的能力等。正如MaLiN2223在您的案例中所评论的,性能差异可能并不重要,无法证明编写程序的额外工作量。

答案 1 :(得分:0)

您可以尝试其他ORM - Dapper ,您可以看到store procedure vs EF vs Dapper

的基准

答案 2 :(得分:0)

它取决于很多因素,你觉得这在应用程序中非常容易使用,并且在某些时候数据会更长时间你必须再次思考。

所以请参考entity framework performance

让你轻松理解。我想再给你一个开源项目的参考,所以这对你有所帮助。 http://www.nopcommerce.com/

当您看到此应用程序代码时,这确实是对EF的优化使用。 感谢

答案 3 :(得分:0)

在非常高级别的说明中,如果您已经有数据库设置,请在需要添加,更新或删除记录时使用Entity Framework作为功能的一部分。 EF具有不同的配置选项,用于指示模型更改如何保存到数据库中。

如果您进行批量批量更改,使用EF将会使整个LINQ和SQL来回变得棘手。但是,EF的扩展允许批量操作。存储过程摆脱了这个大惊小怪。但是LINQ在类型安全,可测试等方面有其自身的优势。

答案 4 :(得分:0)

通过查看用户数量,您可以使用其中任何一个。你不会看到太多的性能差异。我的经验是,通过使用实体框架,您可以更快地开发存储过程。 使用dapper与存储过程可以是另一种方式。 坦率地说,您只能观察到大型数据库的性能差异。