Wie bekomme ich das Entity Framework, um Sammlungen in meinen neu erstellten Entitäten zu initialisieren?

8

Ich versuche, meine Datenbank mit einigen Testdaten mit einem IDatabaseIntialiser wie folgt zu beginnen:

%Vor%

Post-Entität sieht so aus:

%Vor%

Volle Entitäten bei Bitbucket: Posten und Tag . Der gesamte Code ist Ссылка

post.Tags ist jedoch null, das funktioniert also nicht. Ursprünglich habe ich Post als new Post() erstellt, aber seit ich die Methode Create aufgerufen habe, die vom EF bereitgestellt wird, warum wird die Sammlung nicht initialisiert?

Es fühlt sich plump an, hier meine eigene Sammlung zu instanziieren, und wenn ich es im Konstruktor mache, wird vermutlich jedes Mal, wenn ich eine Entität von EF lade, die Sammlung im Konstruktor erstellt und dann mit einer überschrieben, die die tatsächliche enthält Daten aus der DB?

Gibt es eine Möglichkeit, EF anzuweisen, mir eine Entität anzulegen, einschließlich Collections / Proxys für meine ICollections (vorausgesetzt, ICollection ist die richtige Wahl)?

Bearbeiten : context.Configuration.ProxyCreationEnabled wird (standardmäßig) auf "true" gesetzt, was aus diesem Grund zu existieren scheint ?

    
Danny Tuppeny 12.05.2011, 17:55
quelle

1 Antwort

6

Mit POCO-Entitäten und EF initialisiere ich im Allgemeinen die Auflistung im Konstruktor. Und ich bevorzuge ISet über ICollection ;-)

    
Fabian Vilers 12.05.2011 17:58
quelle