[英]Entity Framework 6 Compiled LINQ Query
我正在尝试通过缓存查询来提高Web应用程序的性能。
public static Func<myEntity, List<HASHDuplicates>, IQueryable<FormResponse>> CompiledDuplicatedResponses =
CompiledQuery.Compile<myEntity, List<HASHDuplicates>, IQueryable<FormResponse>>(
(db, hashes) => from r in db.FormResponse
from h in db.IndexHASHes
from d in hashes
where r.id == h.FormResponseID && h.IndexHASHString == d.hash
select r);
我收到的错误是在编译时:
类型'myEntity'不能在泛型类型或方法'System.Data.Entity.Core.Objects.CompiledQuery.Compile(System.Linq.Expressions.Expression>)'中用作类型参数'TArg0'。 没有从'myEntity'到'System.Data.Entity.Core.Objects.ObjectContext'的隐式引用转换。
我正在使用EF6
好吧,似乎在EF5及更高版本中,查询会自动编译,无需编译它们。 ObjectContext不再使用了,我们现在有了DbContext: Compiled Query没有对ObjectContext的隐式引用转换
关于编译查询的另一篇有趣帖子: http : //blog.codinghorror.com/compiled-or-bust/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.