NHibernate-具有父子关系的保存模型中的问题

NHibernate-具有父子关系的保存模型中的问题,nhibernate,Nhibernate,保存包含多个子对象的父对象时遇到问题 模型类别如下: public class Driver { private IList<CitationEvent> _CitationEvents = new List<CitationEvent>(1); } public class CitationEvent { public virtual Driver Driver { get; set; } } 引证事件.hbm.XML中的XML映射 <bag na

保存包含多个子对象的父对象时遇到问题

模型类别如下:

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


public class CitationEvent
{
  public virtual Driver Driver { get; set; }
}
引证事件.hbm.XML中的XML映射

<bag name="_CitationEvents" access="field" cascade="all-delete-orphan"  inverse="true">
      <key column="DRIVER_ID" />
      <one-to-many class="CitationEvent" />
</bag>
<many-to-one  name="Driver" class="Driver" column="DRIVER_ID" cascade="none"/>
关于这个问题还有一个观察:
当我试图用空列表保存驱动程序时,它不会给我这个异常。

这不是特定于NHibernate的错误。可能的原因是,您试图将某个类中的可空属性强制转换为不可空类型。当.NET Framework试图访问不具有值的可空类型的Value属性时,会引发此异常

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

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