Entity Framework 4 CTP5 Verwendung Ich habe ein Basismodell und ein basisches DbContext dieWie alle Datensätze zurückgegeben werden und ob ein zugehöriger Datensatz existiert?
public class Customer {
public int CustomerId { get; set; }
public int Name { get; set; }
//...
public ICollection<Address> Addresses { get; set; }
public bool HasAddress {
get {
return Addresses.Count > 0;
}
}
}
public class Address {
public int AddressId { get; set; }
public string StreetLine1 { get; set; }
//....
public Customer Customer { get; set; }
}
Wie kann ich meine DbContext Abfrage alle Kunden zurück und ob sie eine Adresse funktioniert?
Ein Kunde kann mehrere Adressen haben und ich möchte nicht alle Adressen für jeden Kunden zurückgeben, wenn ich nur daran interessiert bin, ob sie eine Adresse haben oder nicht. Ich benutze context.Customers.Include(c => c.Addresses)
aber das gibt alle Adressen für jeden Kunden
Danke, gibt es sowieso, um die x.Addresses.Count()> 0 in eine HasAddress-Eigenschaft des Customer-Objekts zu projizieren? Ich möchte mein Modell sauber halten und der zusätzliche anonyme Typ ist wie ein View-Modell –
Sie können Ihr Eigentum behalten, wie es ist - mit '.Count' (kein'() '), aber es wird ein Client sein- Seitenoperation auf der Sequenz (zB nachdem die Abfrage ausgeführt wurde). Sie werden es nur nicht wie erwähnt in dem Prädikat verwenden können. Und ja - projizieren Sie auf jeden Fall in eine andere Klasse/Typ, wenn das passt. – RPM1984
Ich habe eine Bearbeitung hinzugefügt, um zu zeigen, wie Sie es wieder in das Customer-Objekt einfügen können. Aber es ist ziemlich dreckig. Ich kenne keinen besseren Weg. – RPM1984