データベースからすべての顧客レコードを取得するデリゲートを作成しています。この方法でコンパイル済みクエリを使用しましたが、何らかの理由で、Visual Studio 2012 with EF でこのようなエラーが発生します。
エラー: 型 '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 });