Отображение NHibernate: возможно ли вставить значения в базу данных через файл отображения без использования свойства? - PullRequest
2 голосов
/ 20 августа 2011

Я пишу приложение, которое работает с устаревшей базой данных (brownfield).У меня есть несколько таблиц, в которые я вставляю данные.В этих таблицах есть несколько полей, для которых требуются значения, свойства которых в объектах моего домена мне не нужны.Есть ли способ вставить значение по умолчанию в поле, не создавая свойство для моего файла сопоставления?Я не могу изменить базу данных для создания триггера, поэтому это нужно сделать с помощью файла сопоставления / приложения .net.

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

Ответы [ 3 ]

2 голосов
/ 20 августа 2011

Вы можете использовать частную / защищенную собственность.
Это будет означать введение этих полей в модель / сопоставление вашей области, но они будут ограничены теми и не будут открыты для тех, кто использует ваши сущности.
кажется мне разумным компромиссом.

1 голос
/ 20 августа 2011

Вы можете использовать EventListeners

в событии OnPostInsert / OnPostUpdate, вы можете получить соединение db и выполнить ad-hoc запрос sql.

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

NH делает это довольно легко

с использованием xml см. здесь используя FluentNHibernate см. здесь

Основная идея заключается в использовании PropertyAccessor для несуществующего свойства, которое всегда имеет постоянное значение.

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