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 для генерации кода уровня объекта".