按LINQ方法语法排序

时间:2011-10-13 12:22:07

标签: linq asp.net-mvc-3 sql-order-by

我已经尝试在每个可以想象的位置插入一个orderby到这个查询,但是无法让它工作。在这个linq查询中,我提取了与单个属性相关的unitMixes列表。在unitMixes表中有一个名为createDate的字段,我想按顺序排序,这看起来很简单,但我还是不能完全掌握方法语法。

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;

提前致谢, 约翰

3 个答案:

答案 0 :(得分:1)

viewModel.properties = db.properties.Single(s => s.propertyId == id);
viewModel.unitMixes = db.properties.Single(s => s.propertyId == id).unitMixes
                                       .OrderBy(m => m.createDate)
                                       .ToList();

您可以在列表中执行orderby。 您无需获取列表,然后.Single()您可以搜索Single() equals delegate

的{{1}}元素

答案 1 :(得分:0)

viewModel.unitMixes = db.properties.Where(s => s.propertyId == id)
                                   .Single().unitMixes
                                   .OrderBy(m => m.createDate)
                                   .ToList();

答案 2 :(得分:0)

viewModel.properties = db.properties.Where(s => s.propertyId == id).Single();
viewModel.unitMixes = viewModel.properties.unitMixes.OrderBy(u => u.createDate);