假设我有一个对象,其中 int 列表是属性之一:
public class MyObject
{
public List<int> TheList
}
一个函数接收此对象作为 Linq-To-SQL 查询的参数,我有这个:
public static List<MyModel> ConditionalQuery(MyObject TheObject)
{
using (MyDataContext TheDC = new MyDataContext())
{
var TheListBuilder = (from l in TheDC
where l.Property = the elements in the list
select l.ID).ToList();
return new List<MyModel>(TheListBuilder);
}
}
基本上,该参数包含一个整数列表,我需要将这些整数与 l.Property 匹配。你怎么写这种类型的条件?
感谢您的建议。
where list.Contains(l.Property)
对于多种情况,您可以执行以下操作:
var result = (
from l in TheDC.Table
where list1.Contains(l.Property1)
where list2.Contains(l.Property2)
select l.Id
).ToList();
或
var result = (
from l in TheDC.Table
where list1.Contains(l.Property1) && list2.Contains(l.Property2)
select l.Id
).ToList();