我试图根据传递给查询的整数列表的可能性来过滤实体;但是也有可能没有整数传递给查询。在下面的示例中,如果"状态"作为整数列表传入,我想返回包含匹配状态(整数)的所有结果
Status As List(Of Integer)
Query as IQueryable(Of db.People) = db.people.asNoTracking.Where(Function(C) c.DeleteFlag = False)
Query = (From q In Query From s In Status Where q.PersonStatus = s)
答案 0 :(得分:0)
假设您没有传递任何状态,那么您想要所有记录,那么:
query=db.people.Where(Function(c) c.DeleteFlag=False)
if (Status.Any())
query=query.Where(Function(c) Status.Contains(c.PersonStatus))
如果在没有传递状态时不想要记录,那么:
if (!Status.Any())
query=new List(Of people).AsQueryable()
else
...
endif