Linq-在实体或子实体中搜索字符串
本文关键字:实体 搜索 字符串 Linq- | 更新日期: 2023-09-27 18:25:23
我有供应商和项目的实体,其中供应商与项目有一对多关系。
我需要在两者中搜索一个字符串,这样搜索结果将返回以下内容:
- 名称包含搜索字符串及其所有项目的所有供应商
- 拥有名称包含搜索字符串的项目的所有供应商
到目前为止,我已经用两个列表做了这件事,然后做了一个联盟:
var suppliers = repository.Suppliers.Where
(s => s.Name.Contains(searchString)).Include(Items);
var itemSuppliers = repository.Suppliers.Include(Items).Where
(s => s.Items.Any(i => i.Name.Contains(searchString));
有没有更好的方法可以做到这一点,最好是使用一个查询?
谢谢
repository.Suppliers.Include(Items).Where(s => s.Name.Contains(searchString) || s.Items.Any(item => item.name.Contains(searchString)));
希望它能帮助你。