У меня есть лицо, содержащее Address в качестве объекта значения:
public Person()
{
WithTable("Person");
Id(x => x.Id);
Component<Address>(x => x.Address, a =>
{
a.Map(x => x.Address1);
a.Map(x => x.Address2);
a.Map(x => x.Address3);
a.Map(x => x.Town);
a.Map(x => x.Postcode);
});
}
В документах NHibernate говорится, что если все свойства объекта значения (Address1, Address2 и т. Д.) Равны NULL, весь компонент будет отображаться как NULL (т.е. Person.Address будет иметь значение NULL). Это вызывает у меня проблемы в тех случаях, когда все поля адреса являются пустыми, потому что на моих страницах, где я мог бы (я делаю ASP MVC):
<%= Html.TextBoxFor((x => x.Address.Address1))%>
Это разрывается с исключением нулевой ссылки. Поэтому я ищу чистый способ установить Address как новый объект Address (), а не null, если все поля пусты, когда я загружаю Person из базы данных, не делая это вручную. Я обесценил следующие идеи:
Проверка на ноль на мой взгляд (юк, ужас)
Создание полей базы данных не обнуляемыми (я имею в виду устаревшую базу данных)
У кого-нибудь есть идеи?