Sé que puedo resolver esto empujando todo en una sola entidad en lugar de anidar tipos complejos (ya que son solo 1-1 mapeos), pero me gusta la forma en que agrupa propiedades en el OM generado.EF 4.2, CodeFirst - Propiedad de navegación dentro de un tipo complext
Tengo una entidad Cliente que contiene un tipo completo "CrmData". La entidad CrmData tiene un tipo de dirección compleja.
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; }
}
Los StateProvince & tipos CountryRegion son entidades en mi DB (similar a cómo funciona el ejemplo AdventureWorks DB). El problema es que cuando EF intenta crear el modelo, falla con:
El tipo 'MyCo.Crm.Entities.StateProvince' ya se ha configurado como un tipo de entidad. No se puede reconfigurar como un tipo complejo.
He intentado hacer del StateProvince un tipo complejo, pero eso no resuelve el problema. Ideas?
public class StateProvince {
[Key]
public int StateProvinceId { get; set; }
[MaxLength(3)]
public string StateProvinceCode { get; set; }
[MaxLength(50)]
public string Name { get; set; }
}
Sin failright después he publicado este fin encontré otro hilo que menciona su respuesta ... para este caso creo que voy a hacer mis cuerdas propiedades de estado y en el país y almacene los códigos ya que prefiero tratar con las búsquedas, ya que me gusta el modelo que tengo. El único inconveniente es la pieza de validación, pero puedo manejar eso de otras maneras. –