gpt4 book ai didi

c# - Linq - 在实体或子实体中搜索字符串

转载 作者:太空宇宙 更新时间:2023-11-03 21:16:18 26 4
gpt4 key购买 nike

我有 Suppliers 和 Items 实体,其中 Suppliers 与 Items 具有一对多关系。

我需要在两者中搜索一个字符串,这样搜索结果将返回以下内容:

  1. 名称中包含搜索字符串的所有供应商及其所有项目。
  2. 拥有名称包含搜索字符串的项目的所有供应商。

到目前为止,我一直在用两个列表做这件事,然后做一个联合:

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)));

希望对你有帮助。

关于c# - Linq - 在实体或子实体中搜索字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34059266/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com