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

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

 Pawel11 нояб. 2012 г., 06:35
VS2012 генерирует объекты POCO и DbContext по умолчанию. У тебя не работает?

Ответы на вопрос(2)

Решение Вопроса

EF 5.x DbContext Fluent Generator

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

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

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

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

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

string inputFile = @"Northwind.edmx";

 Sergey Berezovskiy21 янв. 2013 г., 15:38
@ Томас, о каком меню ты говоришь?
 Sergey Berezovskiy11 нояб. 2012 г., 01:18
@ user31673 на самом деле ты неМне не нужен какой-либо специальный инструмент. Просто сохраните отредактированный шаблон, и он автоматически сгенерирует выходной файл (он будет находиться под узлом шаблона)
 user3167311 нояб. 2012 г., 01:14
Спасибо за информацию. Я добавил шаблоны, но код не был сгенерирован. Я изменил их все, чтобы исправить $ edmxInputFile $, но ничего не происходит. Я щелкнул правой кнопкой мыши по каждому из них и нажал на Run Custom Tool. Что мне не хватает?
 Sergey Berezovskiy11 нояб. 2012 г., 01:29
Ах, еще одна вещь - удалить контекст и сущности, созданные с помощью файла EDMX. Вам нужна только диаграмма.
 Tomas21 янв. 2013 г., 15:36
Вы знаете, как удалить это меню из VS? Я добавил эту опцию, и теперь я хочу удалить ее, потому что это меню появляется в каждом проекте MVC.

процесс для этого довольно упрощен. Шаги из принятого ответа теперь легко сделать из самого дизайнера 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 для генерации кода уровня объекта ».

Ваш ответ на вопрос