2016-02-09 2 views
0

Est-il possible d'imbriquer les types EF compex et de les utiliser dans une entité de domaine?Entity Framework Types complexes

Si c'est possible, quel type de configuration est nécessaire pour un type complexe parent et un type complexe enfant?

ComplexType Parent 
{ 
public ComplexTypeChild { get; set;} 
//other properties 
} 

ComplexTypeChild 
{ 
public string Name{ get; set;} 
//other properties 
} 

DomainEntity 
{ 
public ParentComplexType {get; private set; } 
//other properties and method 
} 

Merci d'avance!

Répondre

1

Oui, c'est possible.

Voici la configuration que vous devez ajouter dans l'événement OnModelCreating.

protected override void OnModelCreating(DbModelBuilder mb) 
{ 
    mb.ComplexType<ComplexType>(); 
    mb.ComplexType<ComplexTypeChild>(); 
} 
+0

@JohnatanMagnan Je sais que c'est une question stupide, mais j'ai encounterd un problème lors de la conception EF Poços, et depuis votre anwser utile Je voudrais vous poser la question. Dois-je créer EF POCOS avec un constructeur pramametrless, ou inclure des constructeurs définis dans la classe de domaine? Merci d'avance – user2153675

+0

Eh bien, les deux réponses sont bonnes pour moi, je ne suis pas sûr quelles sont les meilleures pratiques pour cela. Je crois que cela dépend de la façon dont vous utiliserez votre classe de domaine. Par exemple, une classe de client peut avoir un type complexe "CustomerInfo" avec une valeur par défaut déjà initialisée (donc dans les constructeurs de classe de domaine) mais ne pas le faire et forcer à créer un nouveau CustomerInfo a également du sens. –