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 ответ

Вам нужно исправить проблему с недопустимым значением даты. Попытка обойти эту проблему - проигрышное предложение.

Другие вопросы по тегам