2012-04-01 4 views
0

Я пытаюсь выяснить, какой лучший способ для этого будет для генерации кода Entity Framework с использованием подхода «база данных сначала». Я хочу, чтобы полное описание модели было реальной схемой базы данных с аннотациями, хранящимися в базе данных в таблицах или расширенных свойствах. Не интересует первый или первый подход к модели. Не против создания пользовательского кода для реализации, если он даст решение самого высокого качества. Вот несколько идей:Генерирование кода сущностей Entity Framework

(1) Создайте EDMX из базы данных. Используйте специальный код для добавления аннотаций к EDMX относительно уникальности и других ограничений, которые в настоящее время не встроены в EF. Используйте шаблоны T4 для генерации кода из EDMX.

(2) Напишите специальный инструмент, который генерирует классы «code first» из базы данных. Нет EDMX-файлов в решении.

(3) Что-то еще?

Кажется, что # 1 требует более глубокого знания EF и более реальной работы, чем # 2, против которой я сейчас против, если есть значительные преимущества.

Любые советы?

+0

Вы знаете, что можете сделать «код первым» и не генерировать схему, не так ли? Все, что вам нужно сделать, это создать класс для соответствия схеме БД, хотя вам нужно внести какие-либо изменения в оба места. – tvanfosson

+0

@Ivan, относительно «Все, что вам нужно сделать, это создать класс для соответствия схеме БД», вопрос в том, следует ли генерировать этот код напрямую или поместить файл EDMX посередине. –

+0

Мне нравится, что этот код сначала дает мне форму формы и обнаруживает, что первый код намного легче проверить, чем автогенерированный код от дизайнера. Фактически, я бы не использовал EF до тех пор, пока первый код не был отправлен; Linq2SQL лучше использовал ИМО с помощью конструктора. Теперь я сначала использую EF-код в качестве своего первого выбора с MSSQL. К сожалению, я не считаю, что какой-либо из этих методов будет достаточным для разработки всей схемы в среде IDE (разработчик или код) и, как правило, сначала использовать DB-код с первой моделью кода. – tvanfosson

ответ

0

Ну, ничего проще, чем просто перетаскивать таблицы из проводника сервера на поверхность дизайнера edmx. Вот как я это делаю. Я не делаю никаких настроек для модели, поэтому я могу просто удалить ее части с помощью регенерации.

0

Вы можете импортировать модель из своей базы данных с помощью EF. Щелкните правой кнопкой мыши конструктор EF и выберите опцию «обновить модель из базы данных».

Если вы хотите еще немного, вы можете попробовать http://radarc.net. Это инструмент генерации кода, который создает строительные леса и CRUD. Сначала он использует шаблоны T4 и код, чтобы вы могли настроить способ генерации кода.

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