Альтернативы для сопоставлений NHibernate? - PullRequest
2 голосов
/ 27 января 2010

Есть ли хорошая альтернатива XML-сопоставлениям NHibernate?

Я видел свободно.Все, что я ищу, это высокая ремонтопригодность .

ОБНОВЛЕНИЕ: Я хотел бы знать о проблемах производительности, связанных с использованием беглого, потому что я предполагаю, что он собирается создавать отображения XMLиз класса (что может занять много времени - мое предположение)

Спасибо

Ответы [ 4 ]

5 голосов
/ 27 января 2010

Свободно , но опять же, я бы сказал, что.

Использование его незначительно влияет на производительность, но не имеет ничего общего с генерацией XML *. У NHibernate есть собственное время запуска, и свободное владение только добавляет к этому небольшую долю; об этом даже не стоит думать, если только вы не выбрасываете тысячи сопоставлений (а точнее, сборок).

* Фактическое влияние Fluent на производительность - это вызов Assembly.GetTypes() для поиска любых отображений в ваших сборках.

2 голосов
/ 27 января 2010

Я видел свободно ..

Тогда дерзай!

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

Ознакомьтесь с Fluent Wiki - отличная документация и хорошая отправная точка.

Что касается ваших правок, я не могу дать вам конкретных ответов, но я никогда не видел никаких проблем с производительностью, используя Fluent. Я предполагаю, что только NHibernate будет немного быстрее при запуске, но после того, как сопоставления сделаны, не должно быть никакой разницы. Также обратите внимание, что производительность при написании кода будет лучше из-за простоты, которую Fluent предлагает перед конфигурацией NHibernate.

0 голосов
/ 28 января 2010

Другие варианты: ActiveRecord и NHibernate.Mapping.Attributes

0 голосов
/ 27 января 2010

Я использовал Linq To XSD , чтобы сгенерировать библиотеку классов из определения файла сопоставления xsd, которое дает вам статически типизированные отображения, для которых вы можете написать помощники и соглашения. Приятно то, что синтаксис выглядит очень похоже на обычный файл hbm.xml, в то время как у меня не было времени, чтобы научиться выполнять каждое сопоставление в Fluent.

...