Можете ли вы сравнить Fluent NHibernate с файлами сопоставления конфигурации xml? - PullRequest
0 голосов
/ 13 июля 2011

Что следует принять во внимание, если мне нужно выбрать между Fluent NHibernate и стандартными файлами сопоставления xml NHibernate?

Можете ли вы сравнить основные различия, о которых я должен знать?

Ответы [ 2 ]

1 голос
/ 20 марта 2012

Несколько вещей, и, как уже упоминалось, это, возможно, дублирующий вопрос, главный из которых я могу придумать, это то, что вы можете изменять xml-файлы без перекомпиляции кода, но вы не можете изменять сопоставления в свободном доступе без перекомпиляции чего-либо, потому что они по своей природе компилируются.

Тем не менее, вы можете создать сборку сопоставлений, а затем просто исправить это.Очевидно, что любые изменения, которые вы вносите, необходимо выполнить через интеграционные тесты.

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

Однако не забывайте, что вы добавляете слой абстракции поверхвершина с его собственными причудами, которые могут сделать для интересной отладки.

0 голосов
/ 20 марта 2012

Примечание: это скорее ответ на вопрос.

На самом деле есть третий вариант, который вы пропустили. NHibernate 3.2 поставляется с собственным синтаксисом отображения кода.

http://nhforge.org/blogs/nhibernate/archive/2011/09/05/using-nh3-2-mapping-by-code-for-automatic-mapping.aspx

Лично мне не нравится синтаксис, я фанат Fluent NHibernate, и он работает для меня.

Я думаю, единственное, что нужно учитывать, - это то, что уже упоминал Крыстан, а именно различия в именах.

Я лично добавил полотенце с отображениями XML и не поднял NHibernate снова, пока не появился Fluent NHibernate.

Я не думаю, что вам нужно что-то знать о сопоставлениях XML, если вы хотите изучить сопоставления XML, вы можете экспортировать сопоставления Fluent и просматривать их. Но на самом деле Fluent Mappings очень просты.

Большинство проблем из Fluent NHibernate steam при попытке использовать Auto Mapping, которая отображает много предположений, хорошо, если вы планируете генерировать схему DB, но если у вас есть существующая схема, лучше явно отобразить их , Я всегда явно пишу свои карты, хотя.

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