实体框架包管理器控制台问题

我有 EF 5,我添加了下表,它添加成功,如代码片段 #1 所示。但是,我希望UserID是引用Users表的外键,如果我这样做了,那么我的代码将看起来像代码片段#2。在不删除这个新表的情况下,你能告诉我我现在该怎么做UserID 是引用用户表的外键。太感谢了。我正在使用包管理器控制台来实现这一点。


代码片段#1


public partial class Initialignorechanges : DbMigration

{

    public override void Up()

    {

        CreateTable(

            "dbo.Favorite",

            c => new

            {

                ID = c.Int(nullable: false, identity: true),

                UserID = c.Int(nullable: false),

                UserName = c.String(nullable: true, maxLength: 25, unicode: false),

                FavoritedUserID = c.Int(nullable: false),

                FavoritedUserName = c.String(nullable: true, maxLength: 25, unicode: false),

                FavoritedDate = c.DateTime(),

                ShowToUser = c.Boolean(nullable: false),

                ShowToFavoritedUser = c.Boolean(nullable: false),

            })

            .PrimaryKey(t => t.ID);                

    }


    public override void Down()

    {            

        DropTable("dbo.Favorite");

    }

}

代码片段#2:


public partial class Initialignorechanges : DbMigration

{

    public override void Up()

    {

        CreateTable(

            "dbo.Favorite",

            c => new

            {

                ID = c.Int(nullable: false, identity: true),

                UserID = c.Int(nullable: false),

                UserName = c.String(nullable: true, maxLength: 25, unicode: false),

                FavoritedUserID = c.Int(nullable: false),

                FavoritedUserName = c.String(nullable: true, maxLength: 25, unicode: false),

                FavoritedDate = c.DateTime(),

                ShowToUser = c.Boolean(nullable: false),

                ShowToFavoritedUser = c.Boolean(nullable: false),

            })

            .PrimaryKey(t => t.ID)

            .ForeignKey("dbo.Users", t => t.UserID, cascadeDelete: true)

            .Index(t => t.UserID);

    }


翻阅古今
浏览 200回答 1
1回答

牧羊人nacy

查看Entity Framework 6 中基于代码的迁移。现在,您必须使用带有迁移类名称的 Add-Migration 命令创建一个迁移类,如下所示。使用 add-migration 命令创建迁移文件后,您必须更新数据库。执行 Update-Database 命令以创建或修改数据库模式。使用 –verbose 选项查看应用于目标数据库的 SQL 语句。此时,数据库将被创建或更新。现在,每当您更改域类时,使用 name 参数执行 Add-Migration 以创建新的迁移文件,然后执行 Update-Database 命令以将更改应用到数据库模式。
打开App,查看更多内容
随时随地看视频慕课网APP