Entity Framework-Создание Классов
У меня есть существующая база данных. Я надеялся, что есть способ генерировать файлы классов из этой базы данных. Тем не менее, я, кажется, вижу много генерации базы данных из файлов классов.
есть ли способ генерировать файлы классов из существующей базы данных с помощью Entity Framework? Если да, то как? Может кто-нибудь указать мне на учебник?
4 ответов:
1) Сначала вам нужно создать
EDMXмодели с использованием базы данных. Для этого вы должны добавить новый элемент в проект:
- выберите
ADO.NET Entity Data Modelиз списка шаблонов.- на странице выбор содержимого модели выберите Создать из базы данных и нажмите кнопку Далее.
- Выберите свою базу данных.
- на странице выбор объектов базы данных, проверка таблиц. При необходимости выберите представления или хранимые процедуры.
так что теперь у вас есть
Model1.edmxфайл в вашем проекте.2) для создания классов с использованием модели:
- открыть
EDMXмодель конструктора.- в области конструктора щелкните правой кнопкой мыши – > добавить элемент генерации кода...
- выберите онлайн шаблоны.
- выберите
EF 4.x DbContext Generator for C#.- Нажмите "Добавить".
обратите внимание, что в ваш проект добавлены два элемента:
Model1.tt(этот шаблон генерирует очень простые классы POCO для каждого объекта в вашей модели)Model1.Context.tt(этот шаблон создает производный DbContext для использования для запроса и сохранения данных)3) чтение / запись данных пример:
var dbContext = new YourModelClass(); //class derived from DbContext var contacts = from c in dbContext.Contacts select c; //read data contacts.FirstOrDefault().FirstName = "Alex"; //edit data dbContext.SaveChanges(); //save data to DBне забывайте, что вам нужно 4.x версия EntityFramework. Вы можете скачать EF 4.1 здесь:Entity Framework 4.1.
Я нашел очень хорошее решение. Microsoft выпустила бета-версию Entity Framework Power Tools: Entity Framework Power Tools Beta 2
там вы можете создать классы POCO, производный DbContext и код первого сопоставления для существующей базы данных в несколько кликов. Это очень приятно!
после установки некоторые параметры контекстного меню будут добавлены в Visual Studio.
щелкните правой кнопкой мыши на проекте C#. Выберите Entity Framework - > Reverse Engineer Code First (генерирует классы POCO, производный DbContext и Code First mapping для существующей базы данных):
выберите вашу базу данных и нажмите кнопку ОК. Вот и все! Это очень просто.
- откройте модель EDMX
- щелкните правой кнопкой мыши - > обновить модель из браузера - > хранимая процедура - > выберите хранимую процедуру - > готово
- см. браузер моделей, появляющийся рядом с обозревателем решений.
- перейти к функции импорта - > щелкните правой кнопкой мыши на хранимой процедуре - > добавить функцию импорта
- выберите объекты в разделе Возврат коллекции - > выберите имя объекта из выпадающего списка
- построить свой Решение.
модель EDMX не будет работать с EF7, но я нашел сообщество / профессиональный продукт, который кажется очень мощным : http://www.devart.com/entitydeveloper/editions.html

Comments