私はエントリーフレームワークの初心者です。私は Julia Lerman の本を読んでいますが、Query Builder メソッドに行き詰まっています。次のコンパイル エラーが発生します。
Error 1 'System.Data.Entity.DbSet<Chapter2ConsoleApp.Contact>' does not
contain a definition for 'Where' and the best extension method overload
'System.Linq.Queryable.Where<TSource>(System.Linq.IQueryable<TSource>,
System.Linq.Expressions.Expression<System.Func<TSource,bool>>)' has some invalid arguments
C:\EF\ProgrammingEntityFramework\Chapter2ConsoleApp\Program.cs 59 32
Chapter2ConsoleApp
コードがあります。
using (SampleEntities context = new SampleEntities())
{
var contacts = context.Contacts.Where("it.FirstName = 'Robert'").OrderBy("it.LastName");
foreach (Contact contact in contacts)
{
Console.WriteLine("{0} {1}",
contact.FirstName.Trim(),
contact.LastName);
}
}
Console.Write("Press Enter...");
Console.ReadLine();
}
ラムダを持つエンティティへの Linq は問題なく動作します。IntelliSense を介して悪いコードを見ると、Where メソッドがあることがわかります。最後に、コンテキストでキャストを試みました[(IObjectContextAdapter)]
が、Contact メソッドを取得できませんでした。
誰か助けてくれませんか?