2017-05-08 26 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