为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

C#
翻阅古今 2022-01-09 16:47:56
我有 EF 5,我添加了下表,它添加成功,如代码片段 #1 所示。但是,我希望UserID是引用Users表的外键,如果我这样做了,那么我的代码将看起来像代码片段#2。在不删除这个新表的情况下,你能告诉我我现在该怎么做UserID 是引用用户表的外键。太感谢了。我正在使用包管理器控制台来实现这一点。代码片段#1public 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);    }
查看完整描述

1 回答

?
牧羊人nacy

TA贡献1862条经验 获得超7个赞

查看Entity Framework 6 中基于代码的迁移

现在,您必须使用带有迁移类名称的 Add-Migration 命令创建一个迁移类,如下所示。

//img1.sycdn.imooc.com//61daa1590001740407110090.jpg

使用 add-migration 命令创建迁移文件后,您必须更新数据库。执行 Update-Database 命令以创建或修改数据库模式。使用 –verbose 选项查看应用于目标数据库的 SQL 语句。


//img1.sycdn.imooc.com//61daa1640001721209080377.jpg

此时,数据库将被创建或更新。现在,每当您更改域类时,使用 name 参数执行 Add-Migration 以创建新的迁移文件,然后执行 Update-Database 命令以将更改应用到数据库模式。


查看完整回答
反对 回复 2022-01-09
  • 1 回答
  • 0 关注
  • 164 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信