我有一个下拉列表,该列表将提供数字或单词。我需要创建一个linq选择,其中包含一个可以模仿以下SQL的子句:
var p varchar2(3);
select ... from ...
where (
( (:p = 'ANY') and id in (select distinct id from Ids) )
or
(:p='1' and id = 42)
)
ps:我将使用表达树来处理或方面: - )
这样的东西?
string input = /***/
var result = Context.Entities
.Where(ent => (input == "ANY"
&& Context.UserIds.Select(usr => isr.Id)
.Distinct()
.Contains(ent.Id))
|| (input == "1" && ent.Id == 42))
.Select(ent => /***/);
免责声明:从内存书写,可能包含编译时错误(错字错误等)