Как я могу обрабатывать сопоставления свойств с другими классами домена, которые еще не сопоставлены с NHibernate? - PullRequest
1 голос
/ 08 сентября 2010

Я работаю над проектом по замене логики доступа к данным ADO.NET с помощью NHibernate, где мы не можем отобразить всю модель домена сразу.Это означает, что у нас будут доменные классы с сопоставлениями свойств с другими классами доменов, которые еще не сопоставлены с NHibernate.

Рассмотрим класс Person со свойством Address (Address является объектом домена без сопоставления NH и Personбудучи классом я картирую).Как я могу включить Адрес в отображение Персона, не создавая полное сопоставление для Адреса?

Можно ли вызвать устаревшую (ADO.NET) логику доступа к данным из пользовательского PropertyAccessor?Если да, то разумно ли это?

* Я задал этот вопрос в рамках другого вопроса здесь , но не получил ответа.Я надеюсь получить один в более кратком вопросе.

1 Ответ

1 голос
/ 08 сентября 2010

В вашем примере, даже если вы не создали файл сопоставления для Address, это потенциально было бы такой же работой, как и создание самого файла сопоставления. Есть некоторые другие варианты, которые вы можете рассмотреть во время перехода, например, иметь пользовательский DAL с методом «GetPerson», например, который будет NH load person и ADO load address. Не красиво и не эффективно, но инкапсулирует работу, поэтому интерфейс не меняется, когда вы хотите отобразить Address. При этом есть несколько вариантов создания пользовательских преобразований данных с использованием NHibernate.Transform.AliasToBeanResultTransformer. Но на самом деле, в конце концов, вы должны найти хороший способ разбить куски вашей доменной модели. Использование DAL является хорошей практикой и может стать приличным мостом из ADO в безумие NH.

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