2017-05-08 24 views
0

我有這樣的條件:如何拉姆達條件添加到LINQ

Expression<Func<LoginTable, bool>> seleWhere 

,並希望這個條件加入上述LINQ:

from a in DataContext.Set<LoginTable>() 
where 【condition】 
select a 

回答

3

你不能這樣做,使用藍色的語法,但你可以寫這樣的正常方式:

DataContext.Set<LoginTable>().Where(seleWhere) 
+0

我知道這樣,但爲什麼不能 – werth

+0

的'從那裏select'語法只implification,編寫簡單查詢的便捷方式,並且它翻譯成正常的語法。你只能在那裏使用明確的條件,因爲它是按照這種方式設計的。當你的查詢被轉換爲sql而不是被執行時,「Expression」的東西會帶來另一層複雜性。 – Rafal

+0

有一種方法可以做到這一點,但它非常複雜。基本上編譯器不會幫助你(我也認爲它應該)。但是,如果你真的想這樣做,你可以使用LINQKit,它會使這成爲可能。 – NetMage