实体框架迁移错误

我向现有的SQL Server数据库中添加了一个新表。我正在使用其生成的ID作为密钥。我跑了dotnet ef migration add NewTable,跑了没有错误。我查看了迁移文件,这是为新表添加的内容:


migrationBuilder.CreateTable(

                name: "InboxNotifications",

                columns: table => new

                {

                    Id = table.Column<string>(type: "nvarchar(450)", nullable: false),

                    Created = table.Column<DateTime>(type: "datetime2", nullable: false),

                    CreatedBy = table.Column<string>(type: "nvarchar(max)", nullable: true),

                    DataId = table.Column<string>(type: "nvarchar(max)", nullable: true),

                    EventIdent = table.Column<string>(type: "nvarchar(max)", nullable: true),

                    Message = table.Column<string>(type: "nvarchar(max)", nullable: true),

                    Status = table.Column<int>(type: "int", nullable: false),

                    TeamIdent = table.Column<string>(type: "nvarchar(max)", nullable: true),

                    Title = table.Column<string>(type: "nvarchar(max)", nullable: true),

                    Type = table.Column<int>(type: "int", nullable: false),

                    UserId = table.Column<string>(type: "nvarchar(max)", nullable: true)

                },

                constraints: table =>

                {

                    table.PrimaryKey("PK_InboxNotifications", x => x.Id);

                });

现在,当我运行时出现dotnet ef database update

我不太确定这意味着什么,因为我没有更改数据库上下文文件中的其他任何内容。我只添加了新模型。

临摹微笑
浏览 183回答 3
3回答

波斯汪

我找到了解决此问题的方法,只需创建新数据库并执行命令“ add-migration migrationame”,然后从程序包管理器控制台中更新数据库。

慕田峪4524236

问题是您有一个迁移,由于某种原因,该迁移引用了尚未创建或删除的约束。为了解决这个问题检查数据库(_EFMigrationsHistory)上的迁移历史记录表,以了解上一次成功的迁移。转到解决方案中的迁移文件夹,并检查在上一次成功迁移之后添加的迁移。该错误最像是试图删除的语句中的错误FK_ApplicationUserToken_AspNetUsers_UserId,通常这样写:migrationBuilder.DropForeignKey(名称:“ FK_ApplicationUserToken_AspNetUsers_UserId”,表:“您的表”)您可以评论此语句或将其删除尝试再次更新您的数据库
打开App,查看更多内容
随时随地看视频慕课网APP