【问题标题】:What are the advantages using LINQ than stored procedure [duplicate]使用LINQ比存储过程有什么优势[重复]
【发布时间】:2012-12-24 10:09:28
【问题描述】:

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

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

【问题讨论】:

  • 你试过Google吗?
  • 与 stackoverflow.com/questions/14530/…> 相同的问题

标签: linq stored-procedures


【解决方案1】:

有很多:

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

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

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

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

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

注意:如果您所做的只是简单的 INSERT、UPDATE 和 DELETE 语句 LINQ 是可行的方法(在我看来),所有的优化都是为您完成的,对于更复杂的我会说要坚持使用存储过程。

更多详细信息,请参考:What is the advantage of LINQ over stored procedures?

【讨论】:

【解决方案2】:

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

你可以看到这个linq-to-sql-vs-stored-procedureslinq-over-stored-procedures

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-07-18
    • 2018-04-06
    • 1970-01-01
    • 2011-08-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多