我正在尝试通过一对多表检索文档 ID。我想在 where 子句中使用列表来查找与列表中每个元素相关的所有 id。
List<int> docIds = (from d in doc
where _tags.Contains(d.Tags)
select d.id).ToList<int>();
我知道包含的内容一定是不正确的,但我无法解决。如果我尝试 foreach,我无法弄清楚如何检查文档是否包含所有标签。
如果你想要这一切d.Tags
应包含在_tags
列表,你可以尝试:
List<int> docIds = (from d in doc
where d.Tags.All(t => _tags.Contains(t))
select d.id).ToList<int>();
如果你想要那个d.Tags
应该包含来自的所有项目_tags
你需要:
List<int> docIds = (from d in doc
where _tags.All(t => d.Tags.Contains(t))
select d.id).ToList<int>();
但我不知道它如何通过 EF 转换为 SQL,所以也许您需要在客户端站点上对其进行评估。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)