NHibernate - проблема в сохранении моделей с отношениями отцов и детей

У меня есть проблема при сохранении Родительского объекта, который содержит несколько дочерних элементов.

Образцовые Классы следующие:

public class Driver
{
   private IList<CitationEvent> _CitationEvents = new List<CitationEvent>(1);
}


public class CitationEvent
{
  public virtual Driver Driver { get; set; }
}

XML, отображающийся в Driver.hbm.xml

<bag name="_CitationEvents" access="field" cascade="all-delete-orphan"  inverse="true">
      <key column="DRIVER_ID" />
      <one-to-many class="CitationEvent" />
</bag>

XML, отображающийся в CitationEvent.hbm.xml

<many-to-one  name="Driver" class="Driver" column="DRIVER_ID" cascade="none"/>

Когда я пытаюсь сохранить driver, NHibernate выдает следующее исключение "Nullable object must have a value"

Код, который сохраняет его:

ITransaction transaction = session.BeginTransaction(IsolationLevel.ReadCommitted);

try
{
  session.Save(driver);
  transaction.Commit();
}
catch (Exception ex)
{
   transaction.Rollback();
}

Еще одно наблюдение о проблеме: Когда я пытаюсь просто сохранить Драйвер с пустым списком _CitationEvents это не дает мне это исключение.

1
задан Jose Basilio 9 July 2010 в 22:00
поделиться

1 ответ

Это не специфическая ошибка NHibernate. Вероятная причина в том, что у вас есть свойство, допускающее значение NULL, в одном из ваших классов, которое вы пытаетесь преобразовать в тип, не допускающий значения NULL. Это исключение выдается платформой .NET Framework при попытке доступа к свойству Value обнуляемого типа, не имеющего Value.

2
ответ дан 2 September 2019 в 23:09
поделиться
Другие вопросы по тегам:

Похожие вопросы: