Свободный NHibernate - Создать сопоставление для существующей базы данных - PullRequest
2 голосов
/ 27 января 2012

Существует ли генератор для создания файлов сопоставления для Fluent NHibernate на основе схемы базы данных, которая уже существует?

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

Fluent NHibernate НЕ разрешено изменять любое определение таблицы.

Решение для динамических объектов во время выполнениябудь идеальным, но это также нормально, чтобы создать отображение во время разработки.

Ответы [ 2 ]

1 голос
/ 27 января 2012

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

Если вы видите, что 80% случаев покрыты автоматическим сопоставлением, то создайте конкретные сопоставления для конкретных случаев.

Посмотрите на это: http://wiki.fluentnhibernate.org/Auto_mapping

0 голосов
/ 27 января 2012

Если ваша база данных использует стандартные соглашения, используйте AutoMapping и создайте соглашения для нее, которые соответствуют вашей базе данных. Любые таблицы, которые отличаются от этих соглашений, используют переопределения соглашений.

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

...