在LINQ方法语法中排序
问题描述:
我已经尝试在每个可以想象的位置插入一个orderby到这个查询中,但是无法让它工作。在这个linq查询中,我正在拉取与单个属性相关的unitMixes列表。在unitMixes表中有一个名为createDate的字段,我想通过它来排序结果,这看起来很简单,但我还是无法完全掌握方法语法。在LINQ方法语法中排序
var viewModel = new propertyDetailData();
viewModel.properties = db.properties.Where(s => s.propertyId == id).Single();
viewModel.unitMixes = db.properties.Where(s => s.propertyId == id).Single().unitMixes;
由于提前, 约翰
答
viewModel.properties = db.properties.Single(s => s.propertyId == id);
viewModel.unitMixes = db.properties.Single(s => s.propertyId == id).unitMixes
.OrderBy(m => m.createDate)
.ToList();
你可以做名单上的排序依据。 你不需要得到清单,然后做.Single()
你可以搜索Single()
元素equals
你的delegate
答
viewModel.unitMixes = db.properties.Where(s => s.propertyId == id)
.Single().unitMixes
.OrderBy(m => m.createDate)
.ToList();
答
viewModel.properties = db.properties.Where(s => s.propertyId == id).Single();
viewModel.unitMixes = viewModel.properties.unitMixes.OrderBy(u => u.createDate);