c# - mvc - entity framework database first
Tipos complejos de valores anulables (2)
Incluso si las propiedades son anulables, la clase que las contiene no lo es. Puede tener Address.Address1
como null
, pero Address
debe ser instanciada.
Para un tipo complejo en el marco de la entidad con solo propiedades anulables, ¿por qué?
[ComplexType]
public class Address {
public string Address1 { get; set; }
}
public class Customer {
[Key]
public int CustomerId {get;set;}
public Address Address {get;set;}
}
Más específicamente, si no declara el tipo de dirección, obtendrá un "Valor nulo para un miembro que no acepta nulos. Miembro: ''Dirección''". Según esta pregunta .
Siempre que todas las propiedades en el tipo complejo sean anulables, ¿por qué ese marco de entidad requiere una instancia de Dirección? Dado que Address1 es anulable, ¿por qué no puede simplemente asumir eso y crear la tabla (y la columna Address_Address1) y el valor nulo en la fila como si hubiera creado una instancia de Address con una Address1 nula?
¿O hay una configuración de atributo / fluidez que puedo aplicar para lograr eso?
mire esta pregunta Entity Framework 5 DbUpdateException: Valor nulo para un miembro que no acepta nulos .
debe crear una instancia del tipo complejo incluso si todas las propiedades son nulas.