使用LINQ比存储过程有什么优势

时间:2013-01-10 04:29:36

标签: linq stored-procedures

  

可能重复:
  LINQ-to-SQL vs stored procedures?
  Linq over Stored Procedures

使用LINQ比存储过程有什么好处?

2 个答案:

答案 0 :(得分:4)

有很多:

  1. 调试 - 调试存储过程非常困难,但由于LINQ是.NET的一部分,您可以使用visual studio的调试器来调试查询。

    < / LI>
  2. 部署 - 使用存储过程,我们需要为存储过程提供一个额外的脚本,但是使用LINQ,所有内容都会被编译到单个DLL中,因此部署变得很容易。

  3. 类型安全 - LINQ是类型安全的,因此在编译时会对查询错误进行类型检查。在编译而不是运行时异常时遇到错误真的很好!

  4. 内置安全性 - 在LINQ之前我首选存储过程的一个原因是它们强制使用参数,有助于减少SQL注入攻击。 LINQ to SQL已经参数化输入,这同样安全。

  5. 减少工作 - 在LINQ之前,我花了很多时间构建DAL,但现在我的DataContext是DAL。我也使用过OPF,但是现在我有LINQ,它附带了多个提供商和许多其他第三方提供商,从我之前的观点中获益。

  6. 注意:如果您正在做的只是简单的INSERT,UPDATE和DELETE语句LINQ是可行的方式(在我看来)并且所有优化都是为您完成的,因为更复杂我会坚持使用存储过程。

    有关详细信息,请参阅:What is the advantage of LINQ over stored procedures?

答案 1 :(得分:0)

如果你谷歌,你会发现一些与你的问题类似的问题。

您可以看到此linq-to-sql-vs-stored-procedureslinq-over-stored-procedures