В то время как это - субъективный вопрос как новый пользователь NHibernate, мне любопытно относительно того, почему можно было бы выбрать Быстрый против традиционного отображения XML.
С моей точки зрения, когда я сначала работал с NHibernate, я использовал интерфейс Fluent, но столкнулся с некоторыми контрольно-пропускными пунктами и был нелегко находить соответствующую документацию для интерфейса Fluent для чего-либо вне 'игрушечного приложения', таким образом, я учился обращаться с ними через XML.
Со временем я понял, что сделал большую часть своей работы над стороной XML и понял, что это не было столь ужасающе, как я думал, что это будет. Таким образом для меня лично, это был случай плохой документации и не наблюдения значительные сбережения в кодировании времени.
Однако может быть некоторое огромное преимущество/недостаток, которое я пропускаю, и я действительно хотел бы услышать некоторые мнения от людей, у которых есть больше опыта в работе с этими инструментами.
Безопасность при компиляции и рефакторинг (переименование классов, свойств) являются одним из преимуществ, которые вы получаете от беглого отображения. Использование одного языка (C# или VB.NET) для написания связок, программного кода и доступа к данным является еще одним преимуществом.
Для меня большая особенность в свободном состоянии - это автомат.
Я могу определить мою модель домена, используя классы Poco, (в основном), не беспокоясь о противных деталях того, как они будут сопоставлены на таблицы в реляционной базе данных.
Долгое время разработчика OO, а также случайное разработчик БД, я намного удобнее проектироваться в моде OO. Я также верю, что это позволяет мне работать на более высоком более мощном уровне абстракции.
Автоматизация также делает постоянные изменения в доменную модель гораздо менее пугающим.
Ваши клиенты только что сказали вам в последнюю минуту, они хотят добавить четыре новых столбца в базу данных?
Нет проблем - добавьте четыре новых свойства в связанный Poco (4 строки кода), и перенасите.
принимает много боли из постоянно меняющихся требований, которые являются фактом жизни на многих проектах.
Как и множество программных программ с открытым исходным кодом, эта библиотека была доступна для публики до того, как многие функции были готовы. В зависимости от того, с какой версией FLEENTNIB вы работали, некоторые функции могут не были реализованы вообще. Например, когда я впервые начал работать с ним, композитные ключи еще не были реализованы, и я нашел камень блок после каменного блока.
Но продукт превратился в довольно большой инструмент. Это симпатичная функция полной по сравнению с XML и предоставляет все преимущества, другие уже изложили.