我正在使用以下代码并尝试在 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)' 方法,并且此方法无法转换为存储表达式。
如果我将方法更改为使用 lambda,如下所示,一切正常。
Customer FindCustomerByLastName(string lastname)
{
DataContext MyContext = new DataContext();
return MyContext.Customers.Where(c => c.LastName == lastname).FirstOrDefault();
}
在我尝试做的上下文中,是否可以在 Linq-To-Entities 中使用命名方法?