обновление идентификатора объекта, который не является идентификатором, с помощью Nhibernate - PullRequest
0 голосов
/ 27 ноября 2011

У меня есть объект, который уже существует в базе данных, и я хочу изменить его ID, Nhibernate рассматривает его как новый объект и сохраняет его вместо обновления. Я имею в виду много глупых решений, но хочу эффективное.

Ответы [ 2 ]

0 голосов
/ 27 ноября 2011

Насколько я знаю, единственный способ - удалить и вставить строку, но я бы сделал это, используя собственный SQL-запрос .

0 голосов
/ 27 ноября 2011

Немного сложно ответить, потому что довольно непонятно, что вы хотите сделать ... Каков контекст этого вопроса? Почему вы даже хотите сменить ID? Может быть, это что-то вроде идентификатора клиента?

Ну, я бы сказал, что лучшее решение - это отделить вашу бизнес-логику от вашей технической логики. Часто рекомендуется иметь бессмысленный первичный ключ. Конечно, есть причины против этого, но вы уже знаете, что ваш идентификатор может измениться, я бы сказал, добавьте идентификатор, который не меняется.

В любом случае, если вы не можете добавить бессмысленный идентификатор, который не изменяется, просто сначала удалите объект со старым идентификатором, а затем добавьте новый с новым идентификатором.

...