我有 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 命令创建一个迁移类,如下所示。
使用 add-migration 命令创建迁移文件后,您必须更新数据库。执行 Update-Database 命令以创建或修改数据库模式。使用 –verbose 选项查看应用于目标数据库的 SQL 语句。
此时,数据库将被创建或更新。现在,每当您更改域类时,使用 name 参数执行 Add-Migration 以创建新的迁移文件,然后执行 Update-Database 命令以将更改应用到数据库模式。
- 1 回答
- 0 关注
- 164 浏览
添加回答
举报
0/150
提交
取消