运营商'。'不能应用于lambda表达式

时间:2012-03-28 13:00:50

标签: json linq lambda

我正在尝试创建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); 
} 

知道如何返回所需数据?

1 个答案:

答案 0 :(得分:2)

在以下行中:

.Where((dr => dr.First.StartsWith(term) == true) || (dr => dr.Last.StartsWith(term) == true))

你正在两个lambda表达式上使用|| -Operator。

Where-Clause应该更像这样:

.Where(dr => dr.First.StartsWith(term) || dr.Last.StartsWith(term))