输入命令 Enable-Migrations 回车,为Core启用数据迁移。
打开Configuration.cs文件
image
,将 AutomaticMigrationsEnabled = false;改为 AutomaticMigrationsEnabled = ture;来启用自动迁移。
2)、更新数据表
运行命令Update-Database。提示错误:There is already an object named 'Administrators' in the database.
这是因为先生成了Administrators表后启用的数据迁移。在更新表的时候视图创建Administrators表失败。
Add-Migration 将根据自创建上次迁移以来您对模型所做的更改,为下一次迁移搭建基架。
Update-Database 将所有挂起的迁移应用于数据库。
生成并运行迁移
Code First 迁移有两个主命令,下面您将会熟悉它们。
Add-Migration 将根据自创建上次迁移以来您对模型所做的更改,为下一次迁移搭建基架。
Update-Database 将所有挂起的迁移应用于数据库。
我们需要为迁移搭建基架以处理先前添加的新 Url 属性。使用 Add-Migration 命令可以为这些迁移指定名称,我们将其称为 AddBlogUrl。
在程序包管理器控制台中运行 Add-Migration AddBlogUrl 命令。
在 Migrations 文件夹中,现在有了新的 AddBlogUrl 迁移。该迁移文件名以时间戳作为前缀,这对于排序十分有帮助。
namespace MVCLogin.Migrations
{
using System;
using System.Data.Entity.Migrations;
public partial class users : DbMigration
{
public override void Up()
{
AddColumn("dbo.Users", "Pwd", c => c.String());
}
public override void Down()
{
DropColumn("dbo.Users", "Pwd");
DropTable("dbo.Users");
}
}
}
现在,我们可以编辑此迁移或向其添加内容,一切都很不错。让我们使用 Update-Database 将此迁移应用于数据库。
在程序包管理器控制台中运行 Update-Database 命令。
Code First 迁移将对 Migrations 文件夹中的迁移与已应用于数据库的迁移进行比较。它将了解到需要应用 AddBlogUrl 迁移,于是便运行该迁移。
此时,MigrationsDemo.BlogContext 数据库已进行了更新,其 Blogs 表中包含了 Url 列。
MVC EF 修改数据库表结构
最新推荐文章于 2024-01-03 09:00:39 发布