gpt4 book ai didi

c# - LINQ 包含在一对多的情况下,.Where() 不起作用?

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

我正在尝试查询用户,包括每个用户的兴趣,但仅限于兴趣满足特定条件的情况:

  return db.Users.Include(u => u.Interests.Where(s => s.TenantId == tenantId))

但是我得到一个错误:

The Include path expression must refer to a navigation property defined on the type. Use dotted paths for reference navigation properties and the Select operator for collection navigation properties.

我想过将 .Where 推到外面的想法,但一直无法让它发挥作用。

最佳答案

试试这个:

return db.Users.Include("Interests").Where(u => u.Interests.Any(i => i.TenantId == tenantId));

这会导致加载用户,但仅限于 tenantId 匹配的位置。执行查询时,将为这些用户预先加载与兴趣相关的实体。

关于c# - LINQ 包含在一对多的情况下,.Where() 不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19845130/

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