尝试按具有一对多关系的值排序-LINQ查询
本文关键字:排序 -LINQ 查询 关系 一对多 | 更新日期: 2023-09-27 18:20:07
我一直在使用我的好朋友谷歌来寻找问题的解决方案,这是我在用完之前所能找到的
基本上我有3张桌子
开发与房地产有1对多的关系(一个开发可以有许多房地产)房地产与PropertyRent有1对多的关系(一个房地产可以有很多租金)
我遇到的问题是按租金价值排序,以下是我迄今为止的情况:
var developmentListSorted = (from d in ContextEntity.Properties
where developments.Contains(d.Development.DevelopmentId)
orderby d.PropertyRents.Select(x=>x.PropertyRentValue).OrderBy(x=>x.CompareTo(x))
select d.Development).Distinct().ToList();
现在没有OrderBy,我得到了一个很好的未排序列表。我真的需要能够按PropertyRentValue进行排序。
属性"development"是ID的数组。
如果我需要进一步澄清,请告诉我。
非常感谢。
我假设ContextEntity.Developments允许您访问开发
var developmentListSorted =
from d in ContextEntity.Developments
where developments.Contains(d.DevelopmentId)
orderby
d.Properties.Min(x=>x.PropertyRents.Min(y=>y.PropertyRentValue))
select d;
这假设您按最小租金值排序,您可以将Min
和Max
的出现次数都更改为最大值,甚至可以使用Average