我想知道是否有更建议使用 ESQL 的情况?
一般来说,我发现 ESQL 令人沮丧(特别是在需要完全限定实体类型的所有特殊情况下)并且可能使用 ESQL 完成的任何事情都可以通过 SQL 或 LINQ 完成。
但我想知道 ESQL 更适合解决方案或比使用 SQL 或 LINQ 具有竞争优势的情况(更容易/更快的编码,或更好的性能等)
那么,这里的妥协是什么?什么时候最好使用这三种方法中的每一种来查询 EF4?
我想知道是否有更建议使用 ESQL 的情况?
一般来说,我发现 ESQL 令人沮丧(特别是在需要完全限定实体类型的所有特殊情况下)并且可能使用 ESQL 完成的任何事情都可以通过 SQL 或 LINQ 完成。
但我想知道 ESQL 更适合解决方案或比使用 SQL 或 LINQ 具有竞争优势的情况(更容易/更快的编码,或更好的性能等)
那么,这里的妥协是什么?什么时候最好使用这三种方法中的每一种来查询 EF4?
我发现 ESQL 适用于边缘情况,例如:
此外,如果您了解 Entity SQL,您将能够表达 QueryView 和模型定义的查询。
我在 stack over flow 上遇到了这些非常相似的问题(之前我在输入我的时候没有出现),我猜他们有更深入的讨论(虽然 T-SQL 没有被提及很多,但它有点明显) :
请注意,这两个问题有点“陈旧”,因此您可能会根据您当前对 EF4 的理解来验证一些数据
正如朱莉所说的那样。Esql 需要编写模型定义的函数,作为回报,这些函数可以通过 LINQ to Entities 查询使用。大多数情况下,您将使用 LINQ to Entities。另一种情况是,当您想使用存储功能(内置或 UDF)构建查询时,您无法使用 LINQ TO Entities。在这种情况下,esql 是您在 EF1 中的唯一方法,但在 EF4 中,您可以使用它的功能来公开要在 LINQ 中使用的那些函数。关于性能,esql 表现更好。但是您可能更喜欢使用 Linq 提高生产力而不是使用 esql 来提高性能。