如何检查列表在Linq to sql中包含多个值
本文关键字:sql to 包含多 Linq 何检查 检查 列表 | 更新日期: 2023-09-27 18:02:56
在我的应用程序中,我有一个查询问题。
我正在尝试运行一个具有多个条件值的查询。
IQueryable<DealsDetails> DD = (from D in DbContext.Deals
where lst.Contains(D.DealCategory)
select D);
我有这个查询,列表将包含这些值,如:
lst.Add("Other");
lst.Add("Services");
和D.DealCategory包含这样的值
Other,Beauty,Services
Beauty,Services,
Services
Other,
Beauty
Other,Services
我需要从表中包含该列表的任何项的所有行。表示包含"其他"answers"服务"的所有行。
结果其他,美丽,服务美、服务服务其他其他服务
不包括美容行。
请告诉我如何写这个查询。
第一次编辑我需要所有这些行,其中DealCategory列包含列表中的任何项目。
谢谢
对两个列表进行连接,并且只返回第一个列表中的元素:
IQueryable<DealsDetails> DD = from D in DbContext.Deals
join C in lst
on D.DealCategory equals C
select D;
编辑:正如@Muhammad所说,这将不起作用,因为交易在数据库中,列表在内存中,但如果您可以直接在服务器上过滤列表项,我会在那里修改答案:
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;