2017-07-17 75 views
-1

我還是相當新的Lambda和我無法弄清楚如何寫一個Lambda表達式類似於SQL ..LAMBDA使用或WHERE子句

SELECT * 
FROM table1 
WHERE ((date = todaysDate AND status = 'Paid') 
     OR 
     (paymentType = 'Visa' AND status = 'Pending')) 

我可以用得到一個條款Lambda不是兩個。這是我..提前:)

payments = scheduledPayments.GetAll().Where(x => x.date == todaysDate 
              && x.status == 'Paid'); 

感謝

+2

警惕 - 從給定的代碼,它看起來像你問SQL服務器用於*所有*預定付款,然後*然後*在內存中應用過濾器。這完全取決於GetAll()的作用,以及返回的內容。 –

回答

2

你有沒有嘗試過這樣的:

payments = scheduledPayments.GetAll().Where(x => 
    (x.date == todaysDate && x.status == "Paid") || 
    (x.paymentType == "Visa" && x.status == "Pending") 
);