entity-framework - 从嵌套集合中获取最大值的 LINQ 查询
问题描述
我有 3 个实体 - 用户、用户组和组。User 和 UserGroup 是多对多的关系,Group 和 UserGroup 是一对多的关系。所以在 EF 方面,User 对象有一个 UserGroup 集合,而 UserGroup 有一个 Group 属性。组实体有一个名为 Level 的属性,它是一个给组排序的数字
我想检索所有用户以及具有最高级别的组。我怎么做?
解决方案
使用元组,您可以执行以下操作:
Users.Select(u => (u, u.UserGroups.Select(ug => (ug.Group, ug.Group.Level))
.OrderByDescending(t => t.Item2).FirstOrDefault()?.Item1)))
假设我已经理解了您的描述(发布代码会更好)。
推荐阅读
- linux - “0/1 * * * *”的时间表在kubernetes cron作业中是什么意思
- flutter - Flutter google_sign_in package 登录问题,PlatformException
- php - Wordpress - 子主题不会在新的 index.php 上加载我的 CSS
- reactjs - 错误:应用程序(...):渲染没有返回任何内容。这通常意味着缺少返回语句
- swift - 如何从 macOS 应用程序中的文件系统读取图像
- unity3d - 使用 Hololens 1 和 Optitrack Trio bar 匹配对象位置和方向
- .net-core - 没有注册类型“Polly.Registry.IReadOnlyPolicyRegistry`1[System.String]”的服务
- sql-server - 插入更新触发器
- html - 如何为固定的背景图像位置启用滚动
- c++ - Boost:ASIO 接受器在数小时/数天后将套接字堆叠为 CLOSE_WAIT 状态