2012-11-22 3 views
1

나는 데이터베이스를 쿼리하기 위해 Linq 코드를 만들고 있는데, 부울에 따라 문을 사용하거나! 문을 사용하여 전환해야합니다. NOT), 어떻게하면 아래의 if/else를 사용하지 않고도 이렇게 할 수 있습니다. 이는 매우 동일한 코드가 두 군데 있다는 것을 의미합니다.부울 스위치 또는 OR 연산자를 켜고 끄는 방법

private string getFromDB(bool decision) 
{ 
    if (decision) 
    { 
     return db.Where(p => (Types.Contains(p.CurrentOwner))); 
    } 
    else 
    { 
     return db.Where(p => !(Types.Contains(p.CurrentOwner))); 
    } 
} 

그것은 LINQ 쿼리에 사용할 수 있으며, 위의 예는 문제의 본질에 아래로 단순화된다

는 다음의 예를 참조하십시오.

미리 감사드립니다.

답변

5
private string getFromDB(bool decision) 
{ 
    return db.Where(p => (Types.Contains(p.CurrentOwner) == decision)); 
} 
+0

감사합니다. – Systemic33

관련 문제