Подтвердить что ты не робот

Сложные типы нулевых значений

Для сложного типа в инфраструктуре сущности с только свойствами NULL, почему для чего-то вроде следующего требуется создание сложного типа:

[ComplexType]
public class Address {
    public string Address1 { get; set; }
}

public class Customer {
    [Key]
    public int CustomerId {get;set;}
    public Address Address {get;set;}
}

В частности, если вы не объявляете и не указываете тип, вы получаете значение "Null" для члена, не имеющего значения null. Member: "Адрес". По этот вопрос.

До тех пор, пока все свойства в сложном типе имеют значение NULL, почему структура объекта требует экземпляра Address? Поскольку Address1 имеет значение NULL, почему он не может просто предположить это и создать таблицу (и столбец Address_Address1) и нулевое значение в строке, как если бы я создал экземпляр Address с нулевым адресом1?

Или есть ли атрибут/текущая настройка, которую я могу применить для достижения этого?

4b9b3361

Ответ 2

Даже если свойства имеют значение NULL, класс, содержащий их, не является. Вы можете иметь Address.Address1 как null, но сам Address должен быть создан.