我一直在用我的好朋友谷歌找到问题的解决方案,这是我在用完之前已经有了
基本上我有3张桌子
开发与Property有1对多的关系(开发可以有很多属性) Property与PropertyRent有一对多的关系(一个属性可以有很多租金)
我遇到的问题是按租赁价值排序,这是我到目前为止所做的:
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的数组。
如果我需要进一步澄清,请告诉我。
非常感谢。
答案 0 :(得分:2)
我假设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