NHibernate Evict - EntityKeys是readonly所以对象不会驱逐

时间:2014-02-19 19:10:23

标签: nhibernate evict

供应商使用NHibernate提供代码......我对NHibernate一点也不熟悉。在代码中的某一点,它调用Flush()并且它抛出一个错误,因为其中一个实体的日期值为1/1/0001。我试图通过驱逐那些将其作为价值的实体来规避。但是,由于EntityKeys设置为只读,因此evict不起作用。

代码:

if (((Event)e.Identifier).EnrollmentDate == DateTime.MinValue)
{
    Db.CurrentSession.Evict(e.Identifier);
}

我也尝试过:

 Db.CurrentSession.Evict(typeof(Event));

每当代码执行时,它都没有抛出任何错误,但它也没有逐出。当我尝试RemoveAt时,它抛出了'Collection is read-only'。错误

有办法吗?

1 个答案:

答案 0 :(得分:0)

您需要通过将日期设置为无效值来解决问题。试图解决这个问题是一个失败的主张。