Отображающиеся атрибуты предлагают ту же универсальность, как nhib hbm's делают? Можно ли использовать их вместе с FNH для обработки вещей, которые FNH еще не делает, а также банка hbm?
Удачи,
Berryl
Путем отображения атрибутов я не имею в виду hbm файлы; существуют, по-видимому, атрибуты, которые идут с NHib (или возможно NHib contrib в эти дни), что Вы используете для украшения класса и свойств класса. Я предполагаю, что они предшествуют FNH, но не уверенные.
Лично я предпочитаю создавать файлы hbm.xml самостоятельно. Я использовал Fluent, но мне просто нравится управлять мелочами для подобных вещей. Однако я не встречал никаких сопоставлений, с которыми мне не удалось бы работать с Fluent ...
Насколько я понимаю, Fluent nHibernate фактически создает файл hbm.xml в фоновом режиме на основе ваших настроек, которые в свою очередь используется nHibernate ... так как Fluent сам создает сопоставления, я бы сказал, что простое создание hbm.xml вручную технически даст вам большую гибкость и доступ к нюансам файла сопоставления ...
Я думаю, что существует схожая кривая обучения для обоих, поэтому, если вы собираетесь потрудиться над изучением Fluent, который сам создает файлы hbm.xml, почему бы просто не научиться создавать чертовы файлы hbm.xml самостоятельно в первую очередь и пропустить средний человек!
Если вы не выполняете МНОГО МНОГИХ проектов в быстрой последовательности, фактическое отображение вашей базы данных является лишь фрагментом реальной работы, которую вы выполняете над конкретным проектом.
Я никогда не сталкивался с ситуацией, которую не мог бы решить Fluent NHibernate, но, возможно, вы используете непонятный атрибут. Что-нибудь конкретное, что вам нужно знать, доступно?
NHibernate атрибуты делают до даты FNH. За исключением относительно небольшой группы стойких противников, я не знаю никого, кто бы их использовал. Их поддерживают, но не совсем дружелюбны. Если вам нравятся атрибуты, атрибуты Castle ActiveRecord - гораздо лучшая реализация, чем базовые атрибуты NHibernate.
Свободно работающий NHibernate может работать со всем остальным. Все, что он делает, - это вставляет сопоставления в экземпляр конфигурации NHibernate, чтобы вы могли поместить туда все, что захотите. ActiveRecord - это более широкое решение, так что это может быть исключением из этого правила, я давно не использовал его.
Я согласен с большинством приведенных здесь комментариев, Hibernate дает вам свободу выбора в отношении того, как реализовать карты для объектов.
Я предпочитаю не использовать атрибуты в моих классах для NHibernate, так как теперь у моих классов есть другая зависимость, о которой они не должны знать.
Что произойдет, если вы захотите изменить свой источник данных на OODB или просто на файл. Классы будут иметь избыточный код сопоставления (атрибуты). в этом случае можно было бы сказать, что его очиститель хранит отображение на уровне данных / инфраструктуры с реализацией репозитория (предполагается использование шаблона репозитория)
Я также согласен, каждому принадлежит:)
{{ 1}}Мы используем их в моем бизнесе, и они мне в некотором роде нравятся.
Я думаю, что это действительно здорово писать отображение прямо в определении класса (я знаю - каждому свое).