我正在创建一个委托来从数据库中检索所有客户记录。我以这种方式使用了编译查询,但由于某种原因,我在带有 EF 的 Visual Studio 2012 中遇到了这样的错误。
错误:类型“HTML5Basics.NorthwindDataContext”不能用作泛型类型或方法“System.Data.Objects.CompiledQuery.Compile(System.Linq.Expressions.Expression>)”中的类型参数“TArg0”。没有从“HTML5Basics.NorthwindDataContext”到“System.Data.Objects.ObjectContext”的隐式引用转换。
这个错误是什么以及如何解决这个错误?
这是代码:
public static Func<NorthwindDataContext, string, IEnumerable<SimpleCustomer>> CustomersByCity =
CompiledQuery.Compile<NorthwindDataContext, string, IEnumerable<SimpleCustomer>>(
(NorthwindDataContext db, string city) =>
from c in db.Customers
where c.City == city
select new SimpleCustomer { ContactName = c.ContactName });