NHibernate (не Fluent NH) - можно ли повторно использовать компоненты? - PullRequest
0 голосов
/ 29 июня 2010

Есть ли способ повторно использовать компоненты NHibernate () в нескольких сопоставлениях? Например: класс Address в классах Employee и Customer. Единственный способ сделать это, который я сейчас вижу, - скопировать и вставить сопоставление компонента Address из одного из сопоставлений классов в другое.

Ответы [ 3 ]

1 голос
/ 29 июня 2010

Я не пробовал это с NHibernate, но он работал с другим OR Mapper, который использовал файлы конфигурации XML. Создайте сопоставление компонента в своем собственном XML-файле, а затем в XML-файле, в котором используется этот компонент, используйте внешнюю сущность XML для ссылки на него. Вот фрагмент из файла сопоставления моей компании:

<!DOCTYPE mappings [
    <!ENTITY Address SYSTEM "MyCompany.MyApplication.Mappings.Address.xml">
]>

<mappings version="4.2" defaultNamespace="MyCompany.Model" defaultSchema="dbo">
    <entity type="Company" table="Company" keyMember="CompanyId" keyType="Auto">
    &Address;
1 голос
/ 29 июня 2010

Помимо решения, предложенного Джейми, использование сопоставлений на основе кода предоставляет лучшие возможности для повторного использования.

В настоящее время существует два таких проекта: Fluent NHibernate и ConfORM .

0 голосов
/ 29 июня 2010

К сожалению, нет. Мне тоже очень нужна эта функция;)

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