供应商提供了使用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时,它抛出了“Collection is read-only.‘”错误
有没有办法绕过这一点?
发布于 2014-02-20 21:51:17
您需要解决日期设置为无效值的问题。试图解决这个问题是一个失败的命题。
https://stackoverflow.com/questions/21890049
复制相似问题