Entity Framework 5 - Как генерировать классы POCO из существующей базы данных

Я использую VS 2012 и EF 5. У меня есть существующая база данных, в которой я хочу создать классы POCO из существующей базы данных. Я следовал инструкциям по добавлению модели данных сущности ADO.NET в мой проект. Я прошел через мастера, чтобы использовать существующую базу данных. Затем он создал файлы edmx и tt с открытым дизайнером. Однако я хочу создать объекты POCO и использовать их. На сайте Microsoft говорится, что POCO Entity Framework Generator устарел, и мне следует использовать DBContext Generator. Я не могу понять шаги, которые я использую для генерации классов POCO. Я вижу только дизайнер EDMX. Я действительно даже не хочу файл edmx, а просто классы POCO. Как я могу получить классы POCO для создания из существующей базы данных, используя EF 5 и VS 2012?

2 ответа

Решение

Используйте EF 5.x DbContext Fluent Generator

Вы можете добавить его из онлайн-шаблонов:

  • Создать EDMX из существующей базы данных
  • Выбрать Add New Item
  • Искать онлайн шаблоны для POCO
  • Добавить EF 5.x DbContext Fluent Generator

Он добавит три шаблона T4 в ваш проект:

  • XXX.Context.tt - контекст, унаследованный от DbContext
  • XXX.Entities.tt - POCO лица
  • XXX.Mappings.tt - плавные отображения для каждой сущности

НО вам нужно вручную указать путь к вашей модели данных edmx. Каждый из этих шаблонов имеет строку string inputFile = @"$edmxInputFile$";, Вам необходимо указать имя вашего файла edmx здесь:

string inputFile = @"Northwind.edmx";

Кажется, процесс для этого довольно упрощен. Шаги из принятого ответа теперь легко сделать из самого дизайнера EDMX. В принципе,

  • Сгенерируйте модель (edmx) из существующей базы данных, добавив ADO.NET Entity Data Model в проект (подробнее см. Здесь),
  • а потом

Откройте файл.edmx в Entity Designer.

Щелкните правой кнопкой мыши пустую область на поверхности Entity Designer и укажите "Добавить элемент генерации кода".

В диалоговом окне "Добавить новый элемент" выберите "Онлайн-шаблоны" и введите DBContext в текстовом поле "Найти онлайн-шаблоны".

Выберите подходящую версию для вашего шаблона (5.0, если вы хотите использовать Entity Framework 5.0).

Нажмите ОК.

Это сделает всю работу, по-видимому. Приведенные здесь инструкции относятся к онлайн-шаблонам, так как требуется установка EF 5.x DbContext Fluent Generator. Если он уже установлен, его не нужно искать в онлайн-шаблонах, а в установленных шаблонах.

Для получения дополнительной информации вы можете проверить эту страницу, раздел "Использование шаблона генератора DbContext для генерации кода уровня объекта".

Другие вопросы по тегам