我正在尝试创建 linq lambda 表达式来返回名字以特定字母开头的客户。但是我在 .select 上收到错误消息:
运算符“.”不能应用于 lambda 表达式。
public JsonResult GetCust(string term)
{
var data = context.Customers
.Where((dr => dr.First.StartsWith(term) == true) || (dr => dr.Last.StartsWith(term) == true))
.Select(dr => new { Name=String.Concat(dr.First, dr.Last), Adrs = dr.Street, value = dr.CustID })
.Take(10);
return Json(data, JsonRequestBehavior.AllowGet);
}
知道如何返回所需的数据吗?
最佳答案
在以下行中:
.Where((dr => dr.First.StartsWith(term) == true) || (dr => dr.Last.StartsWith(term) == true))
您正在两个 lambda 表达式上使用 || 运算符。
Where 子句应该更像这样:
.Where(dr => dr.First.StartsWith(term) || dr.Last.StartsWith(term))
关于json - 运算符 '.' 无法应用于 lambda 表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9908060/