2

我相当肯定这是可能的,但我在让它工作时遇到了一些问题。我正在尝试使用 linq 获得一个只有 1 级嵌套的简单对象图。下面是一个结构示例:

public class City
{
 public int CityId { get; set; } 
 public string Name { get; set; }
 public List<House> Houses { get; set; }
}

public class House
{
 public int HouseId { get; set; }
 public int Number { get; set; }
 public int CityId { get; set; }
}

所以我想做的是得到所有的城市,以及它们所有相关的房子。我正在尝试按名称对城市进行排序,然后按数字对它们的嵌套房屋进行排序。我尝试了一个投影,一个 foreach 排序,以及查询完成后的慢迭代。这是我目前拥有的基础知识,但我看不到如何访问嵌套集:

List<City> Cities = db.Cities.Include(c => c.Houses).OrderBy(c => c.Name).ToList();

我怎样才能设法按每个城市Houses对它们进行排序Number(而不影响城市的顺序)?

4

2 回答 2

4

像这样的东西会起作用吗?

var Cities = 
           (from c in db.Cities
           orderby c.Name
           select new
           {
               Name = c.Name,
               Houses = c.Houses.OrderBy(c => c.Number).ToList()
           }
          );
于 2013-01-22T17:47:41.320 回答
-1

尝试这个

    var cities = (from city in db.Cities
                  orderby city.Name
                  select new {
                      City = city, 
                      Houses = city.Houses.OrderBy(c => c.Number)
                  })
                 .ToList();
于 2013-01-22T17:44:50.837 回答