NHibernate - запись конфигурации в XML
Свободный NHibernate - запись конфигурации в C # или VB.NET с типом safe
Вам следует выбрать Fluent NHibernate, если вы хотите, чтобы он печатался безопасно и не хотел писать конфигурацию в XML. Таким образом, любые изменения вы можете легко переименовать и рефакторинг . Вы просто набираете точку, и intellisense очень поможет вам с документацией. Для написания первого конфига требуется время, но как только вы узнаете, это очень просто.
Linq в Fluent NHibernate - это то же самое, что и сам NHibernate. потому что, как и другие ответы, Fluent NHibernate просто для конфигурации и облегчает использование NHibernate, остальное пришло из NHibernate. например:
var maleCustomers = (from t in Session.Query<Entities.Customer>()
where t.Gender == Gender.Male
select t).ToList();
Я использую Fluent NHibernate, но когда вы щелкнете правой кнопкой мыши по .Query<>
«Перейти к определению», вы обнаружите, что он пришел из namespace NHibernate.Linq
. Так что в любом случае вы используете тот же Linq.
Просто если вы сказали, что Linq для NHibernate против встроенного Linq для Sql отличается. Я не уверен, что разница. Я думал, что это то же самое, но когда я пытаюсь сделать запрос более сложным способом, он выдаст исключение или просто пустой запрос Sql.
Заключение : в любом случае вы выбираете для Linq то же самое, это NHibernate Linq .