Вы можете повторно использовать файлы сопоставления nhibernate для таблиц с общими столбцами - PullRequest
2 голосов
/ 07 октября 2010

У нас есть несколько справочных таблиц, которые имеют одни и те же столбцы (ID, код, описание и т. Д.), И моя коллега только что спросила меня, можем ли мы создать общий файл отображения lookup.hbm.xml и использовать его какбаза для всех других таблиц поиска.Включает ли поддержка nhibernate файлы или какой-либо другой способ ссылки на общий кусок XML?Я понимаю, что Fluent поддерживает наследование в классах отображения, но, к сожалению, переключение технологий отображения для нас не вариант.

1 Ответ

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

Да, вы можете использовать XML внешние объекты .Поместите общие поля в XML-файл и ссылайтесь на них в других XML-файлах, используя !ENTITY.Например:

<!DOCTYPE mappings [
  <!ENTITY Address SYSTEM "xxx.Address.xml">
]>

В XML для карты NHibernate вы импортируете это, используя

&Address;

Необходимо использовать полное пространство имен (путь) к файлу.В Visual Studio (по крайней мере, в 2008 году) я заметил, что если в каком-либо файле есть ошибка и у вас открыт файл XML, использующий внешнюю ссылку, он также сообщит об ошибке.

...