供应商使用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'。错误
有办法吗?
答案 0 :(得分:0)
您需要通过将日期设置为无效值来解决问题。试图解决这个问题是一个失败的主张。