gpt4 book ai didi

c# - 在 Entity Framework 的 where 子句中使用列表

转载 作者:行者123 更新时间:2023-11-30 17:10:37 25 4
gpt4 key购买 nike

我正在尝试通过一对多表检索文档 ID。我想在 where 子句中使用 List 来查找与列表中每个元素相关联的所有 id。

List<int> docIds = (from d in doc
where _tags.Contains(d.Tags)
select d.id).ToList<int>();

我知道 contains 一定是不正确的,但我无法解决。如果我尝试 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,因此您可能需要在客户端站点上对其进行评估。

关于c# - 在 Entity Framework 的 where 子句中使用列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12034321/

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