2013-01-17 46 views
0

可能重複:
Linq If Statement配售if和else Linq中

我試圖運行使用LINQ查詢,但在where子句之前,我想說明的。如果條件,但我沒有得到正確的語法(可能)或不可能? 我搜索了很多,但他們使用if和else之前的查詢,但我想如果在查詢中。 是否有可能像:

var q = (from mortgageapplication in context.MortgageApplications 
     if(mortgageapplication.purpose of loan==7) 
     { 
       where mortgageapplication.MortgageActive == true && mortgageapplication.MortgageCoordinator==ID 
     } 

我只是想,但讓我知道,如果我們可以,如果之前放在哪裏?

+2

好問題,但看看這裏的一些想法:http://stackoverflow.com/questions/1443152/linq-if-statement – Inisheer

+2

Linq聲明的where部分的目的是評估條件在收集的項目。只要把它放在那裏:'where mortgageapplication.purposeofloan == 7 && mortgageapplication.MortgageActive == true && mortgageapplication.MortgageCoordinator == ID' – JLRishe

+0

這是我實際給出的不完整的演示,當條件滿足那麼我在哪裏比較不同的日期。 –

回答

0

這種查詢是邏輯上等同:

var loanPurpose = 7; 
var coordinatorId = ...; 
var query = 
    from app in context.MortgageApplications 
    where app.PurposeOfLoan != loanPurpose 
     || (app.MortgageActive && app.MortgageCoordinator == coordinatorId) 
    select application; 

邏輯去如下,您只需要檢查它是否是活動的,由給定的協調員。否則獲得任何申請。

+0

貸款用途可能具有不同的值,例如一次'2'或其他'7',因此在條件I可以根據貸款用途價值比較不同字段的情況下。 –