NHibernate逐出-EntityKeys是只读的,因此对象不会逐出

NHibernate逐出-EntityKeys是只读的,因此对象不会逐出,nhibernate,evict,Nhibernate,Evict,供应商使用NHibernate提供的代码。。。我一点也不熟悉NHibernate。在代码中的某一点上,它调用Flush并抛出错误,因为其中一个实体的日期值为1/1/0001。我试图通过驱逐任何具有该值的实体来规避。但是,由于EntityKeys设置为只读,逐出不起作用 代码: 我还试图: Db.CurrentSession.Evict(typeof(Event)); 每当代码执行时,它不会抛出任何错误,但也不会退出。当我尝试RemoveAt时,它抛出了“Collection is read-

供应商使用NHibernate提供的代码。。。我一点也不熟悉NHibernate。在代码中的某一点上,它调用Flush并抛出错误,因为其中一个实体的日期值为1/1/0001。我试图通过驱逐任何具有该值的实体来规避。但是,由于EntityKeys设置为只读,逐出不起作用

代码:

我还试图:

 Db.CurrentSession.Evict(typeof(Event));
每当代码执行时,它不会抛出任何错误,但也不会退出。当我尝试RemoveAt时,它抛出了“Collection is read-only.”错误


有办法解决这个问题吗?

您需要解决将日期设置为无效值的问题。试图解决这个问题是一个失败的建议。

我同意这是一个数据问题,这并没有解决根本原因。但是,供应商不允许将属性更改为可为空的日期,因此驱逐对象是我唯一的选择。能否将日期设置为有效值?或者使用对数据库有效的幻数日期?我必须添加一行以明确地加载实体。在那之后,它允许它被驱逐。
 Db.CurrentSession.Evict(typeof(Event));