Переход от Entity Framework к NHibernate - PullRequest
7 голосов
/ 17 января 2012

В настоящее время у нас есть 2 базы данных, которые мы собираемся использовать. Один происходит из уже существующего продукта, и поэтому мы не можем его контролировать. другой - тот, над которым мы имеем полный контроль.

В настоящее время мы используем CTP EF4, так как нам нужны пространственные функции, но, очевидно, это не может быть использовано в коде продукта, и недавний выпуск EF не имеет пространственного характера, поскольку это для более позднего выпуска .Net Framework, и поэтому решение принимается. делается предложение о том, как двигаться вперед, и одно из предложений - перейти на NHibernate и использовать пространственный аддон.

Итак, первый вопрос касается кривой обучения и перемещения между инструментами. На мой взгляд, кажется, что NHibernate более заметен в том, что он делает, EF скрывает многое из того, что он делает в типичном стиле MS, это было бы справедливо?

Так что я думаю, что путь вперед - это использовать диаграмму классов для описания базы данных, которую мы контролируем. Затем мы создадим POCO-обработчиков из этого, а затем вам нужно будет создать файлы сопоставления. Это действительно так просто, как это? Эти файлы сопоставления, нужно ли их вручную писать или у нас есть инструмент для создания из классов POCO?

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

В случае, если это влияет на ответы

База данных, которой мы управляем, использует базу данных MS SQL. То, что у нас нет, это Oracle, и мы используем код ODAC Entity Framework от Oracle.

Большое спасибо

1 Ответ

3 голосов
/ 17 января 2012

Для существующей базы данных я рекомендую использовать Fluent NHibernate для сопоставления.Хороший пример этого есть в проекте Sharp Architecture

. Имеются инструменты , которые выполняют генерацию POCO и Fluent Mapping. Я не пробовал ни одного из них.но я читал о них.

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