LINQ to SQLでならべかえをするには、「OrderBy」や「OrderByDescending」で可能ですが、子要素やそのまた子要素を並べ変えた状態で取得する方法がわかりませんでした。
そのために、せっかくXAMLでシンプルなバインディング記述が出来るのに、親要素が変わる毎に、わざわざコードで子要素を並べ変えていました。
で、調べていると、「DataLoadOptions.AssociateWith メソッド」というものがあり、用途は「特定のリレーションシップについて取得するオブジェクトをフィルタ処理します。」ですが、ここで並べ替え条件を指定しておくと目的が果たせます。
this.db = new SampleDataContext();
DataLoadOptions options = new DataLoadOptions();
options.AssociateWith<user>(u => u.Customer.OrderBy(c => c.CustomerName));
this.db.LoadOptions = options;









