亲爱的DBA - 我想使用LinqToSQL而不是存储过程,因为

jle*_*bke 5 stored-procedures linq-to-sql

在我的组织中,我们必须回答一个单独的DBA小组来做出像使用LinqToSQL这样的决定.您认为使用L2S而不是存储过程的一些最佳原因是什么?

Kin*_*tor 6

Stackoverflow问题,Linq to SQL vs Stored Procedures?,对双方都有一些好处.

使用存储过程可以更严格地控​​制查询,当性能变得重要时,这可能是一个加分.您还可以对过程进行更改,而无需重新编译和重新部署,这可能很方便.

但是,使用LINQ可以获得类型安全性,您的DAL更容易保持版本化并与项目一起维护,更容易测试和更好的调试支持.


RSo*_*erg 3

我认为这可以归结为代码集成。您不必查看存储过程,只需查看应用程序中的代码即可。

看看这个链接... http://www.linqpad.net/WhyLINQBeatsSQL.aspx

我还发现构建像 LINQ 查询这样的动态 SQL 的功能不会显得那么动态,而且更容易调试。例如,假设您有一个包含 10 个不同条件/过滤器的搜索页面。如果用户仅过滤其中 2 个,则您可以创建一个扩展方法,以便在某些条件为真时在查询上添加 where 过滤器。如果你有一个存储过程,你就会有一堆乱七八糟的东西需要调试......