2013-04-10 3 views
0

이런 식으로 올바른 방법은 무엇입니까?람다 식 OR 문

db.Tasks.Where(t => {t.CategoryId == 1 || t.CategoryId == 2) || t.CategoryId == 3)}).ToList(); 

답변

4

중괄호와 평범한 괄호 모두 현재 대괄호가 잘못되었습니다. 당신은 실제로 표현 내의 모든 브래킷이 필요하지 않습니다 -이 (명확성을 위해 포맷) 괜찮 :

var list = db.Tasks 
      .Where(t => t.CategoryId == 1 || 
         t.CategoryId == 2 || 
         t.CategoryId == 3) 
      .ToList(); 
1

람다 표현식은 하나의 일반 표현 구성 – 것을 정확하게이다. (예 : a || b || c)

중괄호는 표현식이 아니라 명령문 용입니다.
{}을 제거하면 올바르게 작동합니다.

너는 또한 어느 정도 유출이있다 ).

+0

그런 다음 'var에 목록을 설명 = db.Tasks.Where은 (t => {t.CategoryId == 1을 반환 ;});';) –