Entity Framework: Untergeordnete Entitäten abfragen

Lerne ich über Entity Framework auf der mo, und habe Probleme!!

Kann jemand klären, ob ich zu Recht denken, dass ich kann nicht ein Elternteil und ein Teil der Kinder aus der db?

Zum Beispiel...

db.Parents
.Include(p => p.Children)
.Where(p => p.Children.Any(c => c.Age >= 5))

Dieser wird wieder alle Eltern, die ein Kind im Alter 5+, aber wenn ich das Durchlaufen der Eltern.Kinder-Sammlung, alle Kinder anwesend sein werden (nicht nur die über 5 Jahre alt).

Nun die Abfrage macht Sinn für mich (ich habe gefragt, um Kinder und ich habe Sie!), aber kann mir vorstellen, dass ich möchte, um die where-Klausel angewandt, um die untergeordnete Sammlung in einigen Szenarien.

Fragen:

  1. Ist das, was ich gesagt habe, richtig?
  2. Ist es möglich, den Eltern und nur bei einem Teil der von der db ohne make Lasten der Aufrufe der db?
  3. Bin ich Weg von der Marke? (Wäre nicht das 1. mal)!!!!

Ich habe ein paar blogs und SO posts, die berühren, auf dem Thema, aber nichts, das erklärt es gut genug für mein kleines Gehirn.

BEARBEITEN

Lesen dieses blog (vielen Dank Daz Lewis).......Ich noch nicht bekommen!!!

In das Beispiel in dem blog, ich kann sehen, wie ich es erreichen kann, gegen eine einzelne Instanz von Parent, aber ich bin kämpfen, um herauszufinden, wie ich es machen kann, mit einer Sammlung.

Wie bekomme ich ein IEnumerable, in dem jeder von den Eltern hat Sie eine gefilterte Auflistung von Kinder (Alter>=5)?

Weiteren Klärung:

In Antwort auf DonAndre Kommentar, ich bin nach a) eine Liste von Eltern, die ein Kind älter als 5 ist (und nur die Kinder).

Jede Hilfe dankbar,

Dank.

Kommentar zu dem Problem
Es gibt zwei Möglichkeiten, was Sie möchten: a) Sie wollen eine Liste von Eltern, die ein Kind älter als 5 ist (und zählen, Kinder) oder b) Sie wollen eine Liste von allen Eltern und eine Liste von Ihren Kindern, die entweder leer oder enthält nur Kinder, die älter als 5. Zuerst dachte ich, Sie will eine), jetzt denke ich, Sie wollen, b). Bitte klären Kommentarautor: Andreas
Ich habe bearbeitet Sie meine Antwort auf den letzten Klärung in der Frage berücksichtigen. Kommentarautor: Slauma

InformationsquelleAutor der Frage ETFairfax | 2011-10-13

Schreibe einen Kommentar