2012-03-28 62 views
2

我試圖創建LINQ lambda表達式返回客戶,其姓或名與特定的字母開頭。但是我得到的。選擇了錯誤說:運營商'。'不能應用於lambda表達式

運營商「」不能應用於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); 
} 

任何想法如何返回所需的數據?

+0

OPS ...... 看來我只是忘了輸入的。凡 另一個右括號應該是: 。凡((DR = > dr.First.StartsWith(項)==真)||(DR => dr.Last.StartsWith(項)==真))) – Tihi 2012-03-28 13:10:42

回答

2

在下面一行:

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

您在兩個拉姆達表達式使用|| - 運算符。

的WHERE子句更應該是這樣的:

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

正如我張貼question-這就是它 - 沒有後發現了幾分鐘在我的表達中不必要的括號。 – Tihi 2012-03-28 13:18:07