我有一个dbml上下文查询,看起来像这样:
var SQLQueryResult = (from activeTable in context.activeTabless
where (
activeTable .AssignedTo == "Person1" ||
activeTable .AssignedTo == "Person2" ||
activeTable .AssignedTo == "Person3")
select new { ... });
我的问题是,如何根据用户选择来更新
where
字段,使其具有任意数量的or
(不仅仅是上面的三个)?假设数字可以来自列表或数组。
对于直接的SQL来说这很简单,但是不确定如何通过Linq to SQL做到这一点。
最佳答案
var persons = new []{"Person1", "Person2", "Person3"};
var SQLQueryResult = (from activeTable in context.activeTabless
where ( persons.Contains(activeTable .AssignedTo))
select new { ... });
您可以使用
.Contains()
的IEnumerable
扩展方法检查集合中是否存在某些内容。