供应商使用 NHibernate 提供了代码......我对 NHibernate 一点也不熟悉。在代码中的某一时刻,它正在调用 Flush() 并引发错误,因为其中一个实体的日期值是 1/1/0001。我试图通过驱逐任何具有该值的实体来规避。但是,驱逐不起作用,因为 EntityKeys 设置为只读。
代码:
if (((Event)e.Identifier).EnrollmentDate == DateTime.MinValue)
{
Db.CurrentSession.Evict(e.Identifier);
}
我也尝试过:
Db.CurrentSession.Evict(typeof(Event));
每当代码执行时,它都不会抛出任何错误,但也不会驱逐。当我尝试 RemoveAt 时,它抛出了“集合是只读的”。错误
有办法解决吗?