NHibernate Evict - EntityKeys только для чтения, поэтому объект не будет выселен
Поставщик поставлял код, используя 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, он выбросил "Коллекция только для чтения". ошибка
Есть ли способ обойти это?
1 ответ
Вам нужно исправить проблему с недопустимым значением даты. Попытка обойти эту проблему - проигрышное предложение.