我正在尝试使用代码优先方法将表和数据迁移到现有数据库 当我运行Add-Migration [somename]时,我最终得到以下异常:
<pre style="word-wrap: break-word; white-space: pre-wrap;">
"[{"Asset":1112, "Name":"Test"}, {"Asset":223, "Name":"Drill"}]"
</pre>
现在这是交易,我的表被命名为aspnet_Users,aspnet_UserRoles等。正如您所看到的,我生成的migration-file将表名称大写。我试图手动重命名,不幸的是没有任何进展。我似乎无法弄清楚是什么原因引起的。
我的数据库实体如下所示:
Cannot find the object "dbo.AspNetUserRoles" because it does not exist or you do not have permissions.
答案 0 :(得分:0)
删除db中的迁移历史记录并使用底层映射
base.OnModelCreating(modelBuilder);
modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
modelBuilder.Entity<IdentityUserRole>()
.HasKey(r => new { r.UserId, r.RoleId })
.ToTable("AspNetUserRoles");
modelBuilder.Entity<IdentityUserLogin>()
.HasKey(l => new { l.LoginProvider, l.ProviderKey, l.UserId })
.ToTable("AspNetUserLogins");