2015-09-19 2 views
2

Мне нужно создать приложение в MVC 5 с помощью EF6. Я уже создал схему для базы данных в SQL Server 2012, и теперь я хочу запросить это в своем приложении.ASP.net MVC: создать приложение MVC 5 с использованием EF6 с первым кодом и существующей базой данных

Рабочий процесс, который, по-видимому, соответствует коду с существующей базой данных, и я попытался выполнить нижеуказанные ресурсы, но они немного запутывают меня, поскольку я новичок.

Есть ли способ, которым я все еще могу использовать свою схему БД на SQL-сервере и использовать подход Code First, используя сгенерированные модели данных из БД.

http://www.asp.net/mvc/overview/getting-started/getting-started-with-ef-using-mvc/creating-an-entity-framework-data-model-for-an-asp-net-mvc-application

http://www.asp.net/mvc/overview/getting-started/introduction/getting-started

+0

Да, вы можете использовать Fluent API для сопоставления классов (в вашем коде указаны ваши таблицы). Создайте класс для каждой таблицы, затем сопоставьте класс с Fluent API. – Arash

ответ

2

Да, вы можете обратный код инженера первой из существующей БД схемы. Here вы можете найти инструкции, как это сделать. Поскольку вы уже создали схему БД, вы можете начать с точки 3. Модель обратного инженера. Этот процесс создаст для вас классы DbContext, POCO для таблиц, выбранных вами в мастере, и сопоставлений. Вы можете использовать его для запроса своей БД.

Когда ваша схема БД изменяется в будущем, вы можете снова или снова отредактировать классы POCO или просто отредактировать их вручную (при изменении типа столбца просто измените тип свойства, если новый столбец был добавлен, добавьте новое свойство в ваш класс). Большинство разработчиков используют код обратной инженерии сначала из существующей БД только в качестве отправной точки, когда им нужно ориентировать существующую устаревшую базу данных. После первоначального создания все будущие изменения в схеме отражаются путем ручного редактирования классов, которые были первоначально сгенерированы инструментом.

+0

Спасибо за ответ! Но в этом случае, как я обновляю классы POCO, если у меня есть обновленная БД (скажем, изменение типа данных столбца или добавление нового столбца). – techsavvy

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