遷移期間不會創建新表。遷移本身似乎是創建的public partial class _222 : Migration { protected override void Up(MigrationBuilder migrationBuilder) { migrationBuilder.CreateTable( name: "ToDos", columns: table => new { Id = table.Column<string>(nullable: false), Name = table.Column<string>(nullable: true), Body = table.Column<string>(nullable: true) }, constraints: table => { table.PrimaryKey("PK_ToDos", x => x.Id); }); } protected override void Down(MigrationBuilder migrationBuilder) { migrationBuilder.DropTable( name: "ToDos"); } }但是當我寫 Update-Database 表時沒有創建。ApplicationDbContextpublic ApplicationDbContext(DbContextOptions<ApplicationDbContext> options) : base(options) { Database.EnsureCreated(); } public DbSet<ToDo> ToDos { get; set; }全部public class ToDo { [Key] public string Id { get; set; } public string Name { get; set; } public string Body { get; set; } }來自包管理器控制臺中的錯誤Failed executing DbCommand (1ms) [Parameters=[], CommandType='Text', CommandTimeout='30']CREATE TABLE [AspNetRoles] ( [Id] nvarchar(450) NOT NULL, [Name] nvarchar(256) NULL, [NormalizedName] nvarchar(256) NULL, [ConcurrencyStamp] nvarchar(max) NULL, CONSTRAINT [PK_AspNetRoles] PRIMARY KEY ([Id]));There is already an object named 'AspNetRoles' in the database.
1 回答

紅糖糍粑
TA貢獻1815條經驗 獲得超6個贊
錯誤信息非常清楚。它正在嘗試創建一個名為 AspNetRoles 的表,該表已存在于數據庫中。由于這不是您的遷移正在創建的表,我希望這是需要首先應用的先前遷移??赡艽吮硎鞘謩觿摻ǖ?,這就是為什么遷移歷史顯示仍需要應用遷移的原因。如果它是開發數據庫,也許您可以刪除該表并允許應用遷移。另一種解決方法是找到適用的遷移并注釋掉 Up 方法的內容。不過,您需要檢查現有表的架構是否正確,以防發生任何更改。
- 1 回答
- 0 關注
- 78 瀏覽
添加回答
舉報
0/150
提交
取消