什么选择 EF 与存储过程或 EF 与 T-SQL 语句
Posted
技术标签:
【中文标题】什么选择 EF 与存储过程或 EF 与 T-SQL 语句【英文标题】:What to choose EF with stored procedure OR EF with T-SQL statement 【发布时间】:2014-08-04 18:41:42 【问题描述】:我想了解新项目的最佳选择。
我的新项目将有 - 两个数据库,其中两个数据库之间相关表的相互关系。
此外,存储过程逻辑可以不仅仅是简单的 CRUD 操作。
应用程序将在 MVC 4 中。恐怕,EF 可能不会花费更多的成本来开发。我也是 EF 的新手,我们使用带有存储过程的 ADO.NET。
请建议, 1.我将要求使用存储过程,因为主要好处是无需重新编译.NET代码以防过程发生任何变化,并在数据库端单独维护,因此如果需要可以直接更改。 不过,在前端使用 EF 作为 T-SQL 语句(无存储过程)有什么好处? 2. Entity Framework 和存储过程是很好的设计还是比 ADO.NET 贵?
请指导决定这个?
谢谢
【问题讨论】:
我认为你应该选择两者,你可以利用 EF 创建的所有对象。使用存储过程(ADO.NET 不是 EF 的函数,这很烦人,你必须将每个过程导入模型)来执行读/写/删除 .. 操作 您能否分享任何使用 EF 和存储过程的架构的链接或文档。 【参考方案1】:据我了解,您也可以在 EF 中使用存储过程,这样您就可以两全其美,所以我肯定会选择 EF。
【讨论】:
是否有任何性能成本,因为它不会使用已生成的代码(sql 语句),而 EF(datacontext)只会用于调用存储过程。在这种情况下什么是最好的 ADO.NET 或 ef.以上是关于什么选择 EF 与存储过程或 EF 与 T-SQL 语句的主要内容,如果未能解决你的问题,请参考以下文章
无法使用 EF Core 或 LinqToDb EF Core Tools 或 ADO.NET 运行任何存储过程创建脚本