C# 如何在Linq to sql中检查包含多个值的检查列表
在我的应用程序中,我有一个查询问题 我正在尝试使用多个条件值运行查询C# 如何在Linq to sql中检查包含多个值的检查列表,c#,linq-to-sql,C#,Linq To Sql,在我的应用程序中,我有一个查询问题 我正在尝试使用多个条件值运行查询 IQueryable<DealsDetails> DD = (from D in DbContext.Deals where lst.Contains(D.DealCategory) select D); D.DealCategory包含这样的值 Oth
IQueryable<DealsDetails> DD = (from D in DbContext.Deals
where lst.Contains(D.DealCategory)
select D);
D.DealCategory包含这样的值
Other,Beauty,Services
Beauty,Services,
Services
Other,
Beauty
Other,Services
我需要表中包含该列表中任何项目的所有行。指包含其他和服务的所有行
结果是
其他、美容、服务
美容、服务、,
服务
另外
其他,服务
不包括美容街
请建议我如何编写此查询
第一次编辑
我需要DealCategory列包含列表中任何项目的所有行
谢谢加入两个列表,只返回第一个列表中的元素:
IQueryable<DealsDetails> DD = from D in DbContext.Deals
join C in lst
on D.DealCategory equals C
select D;
编辑:正如@Muhammad所说,这将不起作用,因为交易在Db中,lst在内存中,但如果您可以直接在服务器上过滤lst项目,我将在那里给出一个修改后的答案:
IQueryable<DealsDetails> DD = from D in DbContext.Deals
join C in DbContext.DealCategories
on D.DealCategory equals C
where [Clauses to filter Cs]
select D;
与两个列表进行联接,并仅返回第一个列表中的元素:
IQueryable<DealsDetails> DD = from D in DbContext.Deals
join C in lst
on D.DealCategory equals C
select D;
编辑:正如@Muhammad所说,这将不起作用,因为交易在Db中,lst在内存中,但如果您可以直接在服务器上过滤lst项目,我将在那里给出一个修改后的答案:
IQueryable<DealsDetails> DD = from D in DbContext.Deals
join C in DbContext.DealCategories
on D.DealCategory equals C
where [Clauses to filter Cs]
select D;
我怎么能总是忘记这个限制:-S我想我总是与DB或inmem一起工作,但不是同时与两者一起工作。谢谢你的回复,但这不是我想要的。我怎么能总是忘记这个限制:-S我想我总是与DB或inmem一起工作,但不是同时与两者一起工作。谢谢你的回复,但这不是我想要的。