Обновление NHibernate вызывает выбор вычисляемых столбцов строки - PullRequest
2 голосов
/ 16 декабря 2010

У меня есть класс User, который я хочу обновить. В моей базе данных есть таблица User с двумя столбцами, среди которых: FirstName и Lastname, и есть вычисляемый столбец с именем DisplayName, который объединяет их с пробелом в середине. Отображение NHibernate для DisplayName:

<property name="DisplayName" type="string" generated="always"/>

Когда я обновляю объект User и фиксирую транзакцию, NHibernate запускает дополнительный оператор выбора только для свойства DisplayName, я предполагаю, что объект и строка БД синхронизируются. Мне это не нужно, поскольку объект сразу выходит из области видимости.

Могу ли я сказать NHibernate, что в настоящее время нет необходимости получать обновленное DisplayName?

С уважением, F.

1 Ответ

2 голосов
/ 17 декабря 2010

generated="always" означает именно то, что: «это значение, генерируемое БД каждый раз, когда я изменяю эту строку; пожалуйста, обновите ее для меня».

У NH нет такого понятия, как «обновлять только в случае изменения определенного столбца».

Мое мнение таково, что вы должны генерировать это значение в вашей доменной модели, а не в БД.

...