На самом базовом уровне вы создаете класс для представления своей таблицы, класс контекста (полученный из DbContext), а затем выполняете команды в консоли диспетчера пакетов для создания миграций/сценариев и/или обновления схемы базы данных напрямую (подумайте об этом как rake db migrate
для EF Code First).
public class User
{
public string Username {get;set;}
public string Password {get;set;}
}
public class DatabaseContext : DbContext
{
public DbSet<User> Users {get;set;}
}
Инструменты ->Library Package Manager ->Package Manager Console
После консольное окно открыто, убедитесь, что проект с лица/контекста выбран в «Default Project "в верхней части окна и выполните следующие команды:
Add-Migration "Description of your migration"
Это создаст миграцию для вас, который представляет ваши изменения в базе данных с момента последней миграции. Если это первый (учитывая, что вы начинаете с пустой базы данных), он также будет генерировать системную таблицу с именем «__MigrationHistory», которая используется для отслеживания того, какие миграции уже были применены к базе данных.
Update-Database -script
Выполнение Update-Database с -script флагом будет генерировать SQL скрипт, который вы можете сохранить/проверить в систему управления версиями, если это необходимо. Если вы предпочитаете просто обновлять базу данных без скрипта, просто оставьте тег -script.
Убедитесь, что строка подключения в web.config называется тем же, что и ваш контекстный класс («DatabaseContext» в этом примере). Это может указывать на вашу существующую базу данных, но она будет управлять или отслеживать изменения только для объектов, которые определены в вашем контексте. я нашел иногда необходимо явно определить контекст при использовании надстройки миграции и команды Update-Database, как так:
Add-Migration "Description of your migration" -connectionstringname "DatabaseContext"
Вы даже не должны предоставлять пустой дб. EF будет (re) генерировать один. –
Так что я должен удалить текущую базу данных? – Slinky