【问题标题】:Any reason to use "Entity SQL" if you can use LINQ?如果可以使用 LINQ,有什么理由使用“Entity SQL”?
【发布时间】:2011-06-27 17:16:32
【问题描述】:

读过一本关于实体框架的书,他们说 LINQ 仅适用于 C# 和 VB.NET。但对于其他语言,您可以使用 Entity SQL。

如果您正在使用 C# 进行项目,那么还有任何理由使用 Entity SQL 吗?有这方面的经验吗?

【问题讨论】:

    标签: entity-framework


    【解决方案1】:

    也许是因为一些在 Linq 中无法表达的东西?

    尽管最好重新考虑你在做什么,因为这通常是代码臭味的暗示,而不是因为 Linq 相当完整

    有些人可能想将它用于动态过滤器或 orderby,但最好混合使用 Linq 和 Dynamic Linq

    Is there a way I can dynamically define a Predicate body from a string containing the code?

    【讨论】:

      【解决方案2】:

      这取决于您项目的“大小”。

      在实体很少的项目上,如果您不怕将 linq2sql 放在表示层,它可以解决问题。

      关于实体框架,缺乏隐式延迟加载让我无法接受。

      我会选择 ActiveRecord 或 NHibernate。

      最后,你可以看看这个帖子:Is LINQ to SQL Dead or Alive?

      【讨论】:

        【解决方案3】:

        性能!

        通过使用 Entity SQL,您可以绕过 Linq 表达式编译,这有时可能非常昂贵(经常提到 30% 的改进)。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2010-09-29
          • 2013-09-27
          相关资源
          最近更新 更多