【发布时间】:2011-06-27 17:16:32
【问题描述】:
读过一本关于实体框架的书,他们说 LINQ 仅适用于 C# 和 VB.NET。但对于其他语言,您可以使用 Entity SQL。
如果您正在使用 C# 进行项目,那么还有任何理由使用 Entity SQL 吗?有这方面的经验吗?
【问题讨论】:
标签: entity-framework
读过一本关于实体框架的书,他们说 LINQ 仅适用于 C# 和 VB.NET。但对于其他语言,您可以使用 Entity SQL。
如果您正在使用 C# 进行项目,那么还有任何理由使用 Entity SQL 吗?有这方面的经验吗?
【问题讨论】:
标签: entity-framework
也许是因为一些在 Linq 中无法表达的东西?
尽管最好重新考虑你在做什么,因为这通常是代码臭味的暗示,而不是因为 Linq 相当完整
有些人可能想将它用于动态过滤器或 orderby,但最好混合使用 Linq 和 Dynamic Linq
见
Is there a way I can dynamically define a Predicate body from a string containing the code?
【讨论】:
这取决于您项目的“大小”。
在实体很少的项目上,如果您不怕将 linq2sql 放在表示层,它可以解决问题。
关于实体框架,缺乏隐式延迟加载让我无法接受。
我会选择 ActiveRecord 或 NHibernate。
最后,你可以看看这个帖子:Is LINQ to SQL Dead or Alive?
【讨论】:
性能!
通过使用 Entity SQL,您可以绕过 Linq 表达式编译,这有时可能非常昂贵(经常提到 30% 的改进)。
【讨论】: