代码之家  ›  专栏  ›  技术社区  ›  jlembke

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

  •  5
  • jlembke  · 技术社区  · 17 年前

    在我的组织中,我们必须对一个单独的DBA小组做出决定,比如使用LinqToSQL。您认为使用L2S而不是存储过程的最佳理由是什么。

    7 回复  |  直到 17 年前
        1
  •  6
  •   Community Mohan Dere    9 年前

    Linq to SQL vs Stored Procedures? ,对双方都有好处。

    使用存储过程,您可以对查询进行更严格的控制,当性能很重要时,这是一个优势。您还可以对过程进行更改,而无需重新编译和重新部署,这非常方便。

    然而,使用LINQ可以获得类型安全性,DAL更容易在项目中保持版本控制和维护,更容易测试和更好的调试支持。

        2
  •  3
  •   RSolberg    17 年前

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

    http://www.linqpad.net/WhyLINQBeatsSQL.aspx

    我还发现,构建类似于LINQ的动态sql查询的功能不会显得如此动态,而且很容易调试。例如,假设您有一个包含10个不同条件/过滤器的搜索页面。如果用户仅筛选其中的2个,则可以创建扩展方法,以便在某些条件为true时在查询中添加where筛选器。如果你有一个存储过程,你将有一堆混乱的调试。。。

        3
  •  2
  •   Jon Onstott    17 年前

        4
  •  1
  •   J.W.    17 年前

    除了非常以数据为中心的报表之外,我现在很少使用存储过程。

        5
  •  1
  •   KM.    17 年前

    请阅读以下内容: "Why use Stored Procedures?" .

        6
  •  1
  •   Jon Erickson    17 年前

    它还可以防止SQL注入。

    L2S还允许DBA专注于数据库及其表结构、索引等的优化,而不必担心支持数据库中的任何存储过程,因为这一责任将转移到开发团队。

        7
  •  0
  •   Community Mohan Dere    9 年前

    看看这个,这里已经讨论过了:

    LINQ-to-SQL vs stored procedures?


    此外,我们喜欢使用linq读取数据,并使用存储过程更新数据,因为存储过程中存在一些业务逻辑(不幸的是)。我不同意存储过程中的商业逻辑,但最基本的除外。双方都可能有争论,这些争论与您的环境相关。

    推荐文章