次のコードを使用していて、Linq-To-Entities内で名前付きメソッドを使用しようとしています
Customer FindCustomerByLastName(string lastname)
{
DataContext MyContext = new DataContext();
return MyContext.Customers.Where(c => GetByCustomerByLastName(c,lastname) == true).FirstOrDefault();
}
bool GetByCustomerByLastName(Customer Cust, string LastName)
{
if (Cust.LastName == LastName)
return true;
else
return false;
}
しかし、これにより、実行時に次のエラーが発生します。
LINQ to Entitiesは、メソッド'Boolean GetByCustomerByLastName(Customer、System.String)'メソッドを認識せず、このメソッドをストア式に変換できません。
次のようにラムダを使用するようにメソッドを変更すると、すべてが正常に機能します。
Customer FindCustomerByLastName(string lastname)
{
DataContext MyContext = new DataContext();
return MyContext.Customers.Where(c => c.LastName == lastname).FirstOrDefault();
}
私がやろうとしているコンテキストでLinq-To-Entitiesで名前付きメソッドを使用することは可能ですか?