Для объекта «Размещение» у нас есть два столбца, которые можно обнулять: CollectionType
и AccommodationUnitType
.
Однако в данных я заметил, что они были установлены на ноль, а не на ноль, в результате чего NHibernate попытался найти сущность с идентификатором 0. Это было много лишних ненужных вызовов БД, поэтому я обновил соответствующие данные до NULL в базы данных, и вдруг я получаю большую жирную ошибку:
"Неверный индекс 24 для этого
SqlParameterCollection with Count = 24 "
Вот переопределение отображения, которое я использую:
public void Override(AutoMapping<Core.Entities.Itinerary.Accommodation.Accommodation> mapping)
{
...
mapping.References(x => x.CollectionType).Nullable();//.Not.LazyLoad();
mapping.References(x => x.AccommodationUnitType).Nullable();//.Not.LazyLoad();
Cache.Is(c => c.ReadWrite());
}
У Google много ответов, которые, похоже, не имеют отношения к моей проблеме.
Есть идеи?
Редактировать
Для информации свойства являются сущностями, поэтому можно обнулять:
public virtual AccommodationUnitType AccommodationUnitType { get; set; }
public virtual AccommodationCollectionType CollectionType { get; set; }