2012-03-28 4 views
2

나는 첫 번째 또는 마지막 이름이 특정 문자로 시작하는 고객을 반환하는 linq 람다 식을 만들려고합니다. 그러나 나는 그 .select에 오류가 발생 :연산자 '.' 람다 표현에 적용 할 수 없습니다

연산자 '.' λ 식에 적용 할 수 없습니다.

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

작전을 ... 단순히이어야한다 어디에요 다른 닫는 대괄호를 입력하는 것을 잊었다 보인다 어디에요 ((DR = > dr.First.StartsWith (용어) == true) || (dr => dr.Last.StartsWith (용어) == true))) – Tihi

답변

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

질문을 게시 한 후 몇 분 밖에 걸리지 않았으므로 불필요한 괄호가 내 식에있다. – Tihi

관련 문제