So che posso risolvere questo problema spingendo tutto in una singola entità anziché nidificare tipi complessi (poiché sono solo 1-1 mapping), ma mi piace il modo in cui raggruppa proprietà nell'OM generato.EF 4.2, CodeFirst - Proprietà di navigazione all'interno di un tipo complext
Ho un'entità Cliente che contiene un tipo complesso "CrmData". L'entità CrmData ha un tipo di indirizzo complesso.
public class Customer {
[Required]
public CrmSpecificData CrmData { get; set; }
}
[ComplexType]
public class CrmSpecificData {
[MaxLength(40)]
public string FirstName { get; set; }
[MaxLength(80)]
public string LastName { get; set; }
public Address Address { get; set; }
}
[ComplexType]
public class Address {
[MaxLength(150)]
public string Address1 { get; set; }
[MaxLength(150)]
public string Address2 { get; set; }
[MaxLength(100)]
public string City { get; set; }
[MaxLength(15)]
public string PostalCode { get; set; }
public StateProvince StateOrProvince { get; set; }
public virtual CountryRegion CountryOrRegion { get; set; }
}
I tipi CountryRegion StateProvince & sono entità nel mio DB (simile a come l'esempio AdventureWorks DB funziona). Il problema è che quando EF tenta di creare il modello, fallisce con:
Il tipo "MyCo.Crm.Entities.StateProvince" è già stato configurato come tipo di entità. Non può essere riconfigurato come un tipo complesso ..
Ho provato a rendere StateProvince un tipo complesso ma che non risolve il problema. Idee?
public class StateProvince {
[Key]
public int StateProvinceId { get; set; }
[MaxLength(3)]
public string StateProvinceCode { get; set; }
[MaxLength(50)]
public string Name { get; set; }
}
Senza failright dopo che ho postato questo ho finalmente trovato un altro thread che menzionato la tua risposta ... per questo caso penso che farò il mio stato e Rurali e stringhe memorizzare i codici come preferirei fare con le ricerche come mi piace il modello che ho. L'unico lato negativo è il pezzo di convalida, ma posso gestirlo in altri modi. –