【发布时间】:2015-01-07 18:32:54
【问题描述】:
我首先使用 EF 代码和自动迁移。我想在我的模型中添加一个新列 - 一个布尔列来表示“活动”(真)或“非活动”(假)。如何添加此列并为数据库中已有的行设置默认值(“true”) - 自动迁移?
【问题讨论】:
标签: c# entity-framework ef-code-first entity-framework-migrations automatic-migration
我首先使用 EF 代码和自动迁移。我想在我的模型中添加一个新列 - 一个布尔列来表示“活动”(真)或“非活动”(假)。如何添加此列并为数据库中已有的行设置默认值(“true”) - 自动迁移?
【问题讨论】:
标签: c# entity-framework ef-code-first entity-framework-migrations automatic-migration
Tamar,您需要设置默认值,请参见下一个示例:
namespace MigrationsDemo.Migrations
{
using System;
using System.Data.Entity.Migrations;
public partial class AddPostClass : DbMigration
{
public override void Up()
{
CreateTable(
"dbo.Posts",
c => new
{
PostId = c.Int(nullable: false, identity: true),
Title = c.String(maxLength: 200),
Content = c.String(),
BlogId = c.Int(nullable: false),
})
.PrimaryKey(t => t.PostId)
.ForeignKey("dbo.Blogs", t => t.BlogId, cascadeDelete: true)
.Index(t => t.BlogId)
.Index(p => p.Title, unique: true);
AddColumn("dbo.Blogs", "Rating", c => c.Int(nullable: false, defaultValue: 3));
}
public override void Down()
{
DropIndex("dbo.Posts", new[] { "Title" });
DropIndex("dbo.Posts", new[] { "BlogId" });
DropForeignKey("dbo.Posts", "BlogId", "dbo.Blogs");
DropColumn("dbo.Blogs", "Rating");
DropTable("dbo.Posts");
}
}
}
【讨论】: