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 に答える