Ошибка обезвоживания значения свойства. Невозможно привести объект типа «NHibernate.Action.DelayedPostInsertIdentifier» C#

Место общения программистов C#
Anonymous
Ошибка обезвоживания значения свойства. Невозможно привести объект типа «NHibernate.Action.DelayedPostInsertIdentifier»

Сообщение Anonymous »

Я работал с пакетом nuget Nhibernate 5.2.3, и все работало нормально, но после обновления до 5.3.10 эта ошибка выдается при обновлении модели с помощью Merge() и Flush().NHibernate.PropertyValueException: ошибка обезвоживания значения свойства для «модели».
System.InvalidCastException: невозможно привести объект типа «NHibernate.Action.DelayedPostInsertIdentifier» к типу « System.IConvertible'.
at NHibernate.Type.NullableType.NullSafeSetAsync(DbCommand st, значение объекта, индекс Int32, сеанс ISessionImplementor, CancellationToken cancelToken)
Позже я нашел это: Hibernate руководство

Сопоставление сущностей иногда может быть сложным, и, возможно, какой-то крайний случай был упущен из виду. Hibernate предлагает способ полностью отключить поведение 5.3 в случае возникновения проблем с DelayedPostInsertIdentifier. Чтобы включить устаревшее поведение, установите hibernate.id.disable_delayed_identity_inserts=true

но это для Hibernate, а не для NHibernate. В любом случае я попытался установить свойство с этим именем и заменить hibernate на nhibernate, но это не сработало. Я даже попробовал еще несколько вариантов, но все равно получаю ошибку

Код: Выделить всё

Configuration cfg = new Configuration();
cfg.setProperty("hibernate.id.disable_delayed_identity_inserts","true");
cfg.setProperty("nhibernate.id.disable_delayed_identity_inserts","true");
cfg.setProperty("id.disable_delayed_identity_inserts","true");
cfg.setProperty("disable_delayed_identity_inserts","true");
Я подтвердил, что эта ошибка возникает только после обновления приложения до nhibernate 5.3.10, потому что позже я попытался перейти на версию 5.2.3 и все работало нормально.
Есть ли у NHibernate такая же конфигурация или какой-либо другой вариант для включения устаревшего поведения?
Я сталкиваюсь с этой ошибкой уже несколько дней, и это очень раздражает, спасибо за помощь .

Подробнее здесь: https://stackoverflow.com/questions/786 ... rnate-acti

Вернуться в «C#»