2016-08-02 6 views
2

при запуске я скажу вам, что я полностью зеленый с Nhibernate, но мне было интересно, как использовать Nhibernate в уже созданную базу данных. База данных сама по себе довольно большая (часть ее, которую я использую на моем процессоре для тестирования, составляет 1 ГБ). Я не большой поклонник сопоставления xml. Я думал, что этот инструмент может помочь мне (https://www.devart.com/entitydeveloper/), но это не удовлетворительно. Итак, я должен пойти с кодом, а затем просто сопоставить его с XML-документами или каковы мои другие возможные способы, с которыми я мог бы пойти?Nhibernate Database First

ответ

2

Есть два варианта, которые я знаю:

  • Fluent NHibernate: Свободный, XML-менее, компилировать безопасные, автоматизированные, конвенционные на основе сопоставления для NHibernate
  • NHibernate.Mapping.Attributes: С NHibernate.Mapping.Attributes, вы можете использовать атрибуты .NET для украшения ваших объектов, и эти атрибуты будут использоваться для формирования информации о картографии.
+1

В дополнение к выше двух аддонов, NHibernate имеют встроенную поддержку "Mapping-By-Code". Нет необходимости в XML. –

+0

I второе отображение по коду. он является гибким с помощью xml, но должен быть быстрее, поскольку нет сопоставлений xml для синтаксического анализа при запуске фабрики сеансов. Если я правильно помню, что Fluent под обложками создает xml на лету, поэтому запуск sessionfactory происходит не так быстро. Там также отличный ресурс для картографирования по коду и свободно здесь http://notherdev.blogspot.com/2012/02/nhibernates-mapping-by-code-summary.html – Fran

1

Если у вас есть требование для NHibernate Я бы очень рекомендовал Dapper особенно если ваша забота - это производительность. Для CRUD вы можете посмотреть Dapper Contrib or Dapper Rainbow.

Dapper Rainbow vs Dapper Contrib

Introduction to Dapper

Смежные вопросы