Entity framework 用于从嵌套集合中获取最大值的LINQ查询

Entity framework 用于从嵌套集合中获取最大值的LINQ查询,entity-framework,linq,max,Entity Framework,Linq,Max,我有3个实体-用户、用户组和组。用户和用户组具有多对多关系,而组和用户组具有一对多关系。所以在EF端,用户对象有一个UserGroup集合,UserGroup有一个Group属性。组实体有一个名为Level的属性,该属性是一个给组排序排序的数字 我希望检索所有用户以及具有最大级别的组。我该怎么做?使用元组,您可以执行以下操作: Users.Select(u => (u, u.UserGroups.Select(ug => (ug.Group, ug.Group.Level))

我有3个实体-用户、用户组和组。用户和用户组具有多对多关系,而组和用户组具有一对多关系。所以在EF端,用户对象有一个UserGroup集合,UserGroup有一个Group属性。组实体有一个名为Level的属性,该属性是一个给组排序排序的数字


我希望检索所有用户以及具有最大级别的组。我该怎么做?

使用元组,您可以执行以下操作:

 Users.Select(u => (u, u.UserGroups.Select(ug => (ug.Group, ug.Group.Level))
    .OrderByDescending(t => t.Item2).FirstOrDefault()?.Item1)))

假设我理解了您的描述(张贴代码会更好)。

使用元组,您可以执行以下操作:

 Users.Select(u => (u, u.UserGroups.Select(ug => (ug.Group, ug.Group.Level))
    .OrderByDescending(t => t.Item2).FirstOrDefault()?.Item1)))
假设我理解你的描述(张贴代码会更好)