带有数组的动态 where 子句



假设我有一个对象,其中 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();

相关内容

  • 没有找到相关文章