Запросы NHibernate linq на обновления не учитывают транзакцию фиксацииC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Гость
 Запросы NHibernate linq на обновления не учитывают транзакцию фиксации

Сообщение Гость »


Я хотел бы обновить объекты, используя запросы linq, предоставляемые NHibernate. Например (из официального документа)

session.Query() .Where(c => c.BodyWeight > 20) .UpdateBuilder() .Set(c => c.BodyWeight, c => c.BodyWeight/2) .Обновлять(); Я заметил, что этот оператор выполняет обновление сразу перед фиксацией транзакции.

Есть две проблемы.

Первое. Как правильно осуществляется откат?

Во-вторых. Представляю этот сценарий. Две сущности и существует ограничение на ключ. Первый ключ объекта имеет значение A1, второй ключ объекта имеет значение A2. При обновлении foreach таким способом возникает проблема. Первый ключ объекта модифицируется, принимая значение A2, второй ключ объекта изменяется, принимая значение A1. Обновление базы данных таким образом вызывает исключение ограничения, нарушенного при первом обновлении. Как я могу это решить? Может быть, пакетным способом?

Заранее спасибо
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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