2011-09-14 17 views
0
var query = from m in db.Members.Include("Companies.Projects.Experiences.ExperienceTags") 
        where m.MemberId == id       
        select m; 

私はproject.enddateを注文することもこのクエリからしたいと思います。どうすればそれができますか?また、enddateはnullにすることができます。そして、会社はいつも今日も注文する必要があるプロジェクトを常に持っているとは限りません。あなたはそのようSelectManyを行う必要があり、多くの関係があるので、ここでorderbyネストされたlinq

は、EFのデータ図a link

答えて

0

のイメージは次のとおりです。

var query = from m in db.Members.Include("Companies.Projects.Experiences.ExperienceTags") 
      where m.MemberId == id 
      orderby m.Companies.SelectMany(c => c.Projects).OrderByDescending(p => p.EndDate).FirstOrDefault() == null ? 
       DateTime.Today : 
       m.Companies.SelectMany(c => c.Projects).OrderByDescending(p => p.EndDate).FirstOrDefault()   
      select m; 
+0

これはちょうどそれがメンバーを返すように、それはdoesnのすべての企業を含む。メンバーの下に会社を含めることができます。 – Prez

+0

@Prez - Letステートメントを削除しました。インクルードステートメントを保持する必要があります。 – Aducci

+0

すべてのレコードを取得するようですが、何も注文しません。 – Prez