我需要添加多个where条件,或者在其中添加一个操作符,其中一个where条件必须检查db列是否提供了列表中的任何项目。请考虑以下查询
var res= from table1 in context.table1
join table2 in context.table2
on table1.id equals table2.id
where table1.name=="res1" || table1.description=="desc"
|| table1.name.any(res=>FreeText.Contains(res))
select table1
此查询使编译器多次运行查询,但没有得到所需的结果。我的最终目标是实现以下sql查询
select * from table1 join table2 on table1.id ==table2.id
where table1.name=="res1" || table1.description=="desc" || table1.name like "%item1%" ||table1.name like "%item2% ......"
应当根据列表中的项目动态添加like语句。
答案 0 :(得分:-1)
尝试一下...
var res= from table1 in context.table1
join table2 in context.table2
on table1.id equals table2.id
where table1.name=="res1" || table1.description=="desc"
|| FreeText.Any(p => table1.name.Contains(p, StringComparison.InvariantCultureIgnoreCase))
select table1