EF 4.1 модель первый инструмент для генерации кода или шаблон - PullRequest
8 голосов
/ 25 мая 2011

Есть ли шаблон или инструмент для генерации кода из базы данных напрямую? Я хочу использовать модель первого сценария, но не хочу .edmx файл для отображений. Существует база данных со многими таблицами, и я не хочу писать все классы (я ленивый) для этого. Итак, есть ли шаблон для генерации кода и установки аннотаций / использования свободного API для автоматического определения отношений и т. Д. Из существующей базы данных?

Это также будет полезно в следующем сценарии. Скажем, я использовал .edmx с POCO и теперь не хочу отображений в файле .edmx. Я хочу отображения в коде. Было бы здорово иметь инструмент или шаблон для генерации отображений в коде из существующей базы данных.

Я начинаю изучать EF 4.1. Я думаю, что «Код сначала становится моделью первым в версии 2, т.е. после того, как база данных создана / выпущена (в версии 1) и нуждается в некоторых изменениях». Это действительно так? Я хотел бы услышать некоторые комментарии. Спасибо.

Ответы [ 3 ]

8 голосов
/ 25 мая 2011

Ознакомьтесь с функцией «Сначала изучите код инженера» в только что выпущенном EF Power Tools CTP1 .

0 голосов
/ 25 мая 2011

Возможно, вы используете EF-провайдера Devart dotConnect для Oracle при работе с базой данных Oracle. В этом случае следующая информация поможет вам выбрать инструмент.

Первая версия Entity Framework Power Tools также содержала возможность создания модели Code-First с быстрым отображением из существующей базы данных. Хотя эта функциональность полезна, она ограничена в том, что касается ее гибкости: разработчик может установить только строку подключения; после этого классы генерируются из всех объектов базы данных, доступных пользователю. Это не очень удобно, поскольку в Oracle, например, пользователю доступно множество схем, содержащих сотни, а иногда и тысячи таблиц.

Вместо того, чтобы прибегать к этой ограниченной функциональности, пользователи поставщиков Devart ADO.NET могут воспользоваться впечатляющими возможностями разработки на этапе проектирования Entity Developer, EF-дизайнера, поставляемого с поставщиками Devart. Также возможен выбор между подходом Database-First, как предусмотрено в EF Power Tools, и подходом Model-First, в рамках которого классы Code-First создаются в EDM-конструкторе.

По сравнению с EF Power Tools подход Database-First к разработке моделей EF Code-First также позволяет выбирать объекты, которые должны быть доступны в модели, устанавливать правила именования для генерации имен и свойств классов и т. Д. , Кроме того, полученная модель может быть изменена и улучшена в конструкторе.

Чтобы лучше удовлетворить потребности разработчиков, генерация кода Code-First в Entity Developer для C # и VB основана на T4-шаблоне, который легко доступен и может быть изменен в многофункциональном редакторе T4, содержащемся в Entity Developer. 1009 *

Дополнительные сведения о разработке Code-First в Entity Developer см. В разделе «Entity Developer - Шаблон EF Code First DbContext». http://www.devart.com/blogs/dotconnect/index.php/entity-developer-ef-code-first-dbcontext-template.html

0 голосов
/ 25 мая 2011

Для генерации классов вы можете использовать генерацию шаблона POCO t4. Посмотрите эту подробную ссылку, которая поможет вам начать работу. Таким образом, вы получите все сгенерированные классы.

Для отображения вы можете использовать стиль Code-Only для Entity Framework, но генерация классов и контекста с использованием шаблона POCO будет иметь гораздо больше преимуществ по сравнению с созданием отображения самостоятельно. Представьте, что вы добавляете новые таблицы или модифицируете таблицы, это потребует дополнительной работы. Но я, безусловно, буду рад узнать, есть ли для этого какой-либо инструмент для картирования.

...