Начало работы с Fluent NHibernate - PullRequest
3 голосов
/ 21 апреля 2010

Я пытаюсь использовать Fluent NHibernate, и у меня есть пара вопросов. Я считаю, что документации не хватает.

  1. Я понимаю, что Fluent NHibernate / NHibernate позволяет автоматически генерировать схему базы данных. Люди обычно делают это только для баз данных Test / Dev? Или это нормально для производственной базы данных? Если это нормально для производства, как вы можете быть уверены, что производственные данные не будут выбрасываться при каждом запуске приложения?

  2. Как только схема базы данных уже создана, и у вас есть производственные данные, когда появляются новые таблицы / столбцы / и т. Д. нужно добавить в базу данных «Тестирование и / или производство», разрешают ли это делать NHibernate, или это нужно делать вручную?

  3. Есть ли ДЕЙСТВИТЕЛЬНО ХОРОШАЯ документация по Fluent NHibernate? (Пожалуйста, не указывайте мне на вики, потому что, следуя коду «Ваш первый проект», создававшему его сам, я получал ошибки во время выполнения, потому что они забыли сказать вам добавить ссылку. *

Спасибо, Andy

Ответы [ 2 ]

3 голосов
/ 22 апреля 2010

Я использую Fluent NHibernate Automapping уже несколько месяцев. Я ни в коем случае не эксперт, но могу ответить на ваши вопросы ...

FNH Automapping действительно создает схемы БД из классов POCO, включая списки других объектов (именно поэтому я и выбрал NHibernate).

Когда вы меняете схемы, вам нужно перезапустить автоотображение, которое, к сожалению, отбрасывает всю базу данных. В моем случае это не большая проблема, потому что я импортирую существующие двоичные файлы данных, поэтому мне просто нужно повторно импортировать мои данные каждый раз, когда меняется схема. Я читал, что есть некоторая поддержка миграции данных, доступная с NHibernate, но у меня нет опыта в этом. (Кстати, Subsonic будет выполнять миграцию данных, но функциональность его автоматического преобразования гораздо более элементарна - по крайней мере, так было, когда я оценивал это несколько месяцев назад)

Документация FNH - одна из моих любимых мозгов - они даже не добавили справку Intellisense по именам методов и т. Д. (Но они становятся очень раздражительными, когда вы указываете на это - спросите меня, откуда я знаю!) Я сделал пару правок в вики, когда смогу, но там можно сделать гораздо больше. Наилучший подход - начать с рабочего примера (т.е. это от Николая Маловича и отправьте вопросы в форму поддержки , если (когда!) У вас возникнут проблемы В общем, я нашел сообщество FNH довольно полезным и смог преодолеть все мои трудности. Они также исправили пару ошибок, которые я нашел.

В целом, использование FNH стало огромной победой для моего проекта - настоятельно рекомендуется!

1 голос
/ 21 апреля 2010

Я не использую Fluent, но могу помочь с классическим NHibernate.

  1. да, создание схемы очень рекомендуется для производственного использования (экспорт схемы). Когда вы делаете это зависит от вас. Например, вы можете создать базу данных с помощью установщика. Вы не должны удалять существующие базы данных, но это решение вашего приложения.

  2. Я не понимаю этого вопроса. Вы хотите обновить существующую базу данных до новой схемы базы данных? К сожалению, это то, что вам нужно реализовать самостоятельно. NH не может ничего с этим поделать, потому что это очень специфично для ваших данных и внесенных вами изменений. Существует также обновление схемы или что-то подобное, что не рекомендуется для производственного использования.

  3. Я не пользуюсь свободно, поэтому не могу здесь помочь.

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