Можно ли настроить NHibernate так, чтобы он не вставлял поля, которые имеют значение NULL? - PullRequest
1 голос
/ 12 октября 2010

Пока еще не совсем уверен в этом, но когда мы сохраняем сущность поверх NHibernate, которая включает в себя значение поля NULL для столбца, который НЕ равен NULL (но имеет значение DEFAULT), операция завершается неудачей.

Мы опробовали ту же схему, бросив в нее оператор INSERT, полностью пропустив поле NOT NULL (в отличие от явного объявления его как NULL), и это сработало.

Что заставляет нас верить, что NHibernate являетсяустановка оператора SQL таким образом, чтобы поле NOT NULL было явно объявлено как NULL, что вызывает ошибку INSERT.

Есть ли способ заставить NHibernate опустить это поле из оператора SQL, если ононулевой?Для чего это стоит, это строковое поле для столбца NOT NULL с DEFAULT ('').

1 Ответ

2 голосов
/ 12 октября 2010

Вы можете использовать атрибут динамической вставки для вашего элемента класса (см. 5.1.3. Класс ). Или, если вы используете FluentNHibernate, есть метод с именем DynamicInsert (iirc), который можно вызвать при настройке сопоставления.

К вашему сведению, для динамического обновления есть соответствующий атрибут и функция Fluent.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...