【发布时间】:2020-03-09 01:55:40
【问题描述】:
我已经连接到一个没有任何身份的现有 SQL 数据库,例如没有 aspNetUser 表等。我已经使用这样的自定义登录类添加了这些
public class UserLogin : IdentityUser
{
public int LanguageId { get; set; }
public string HQ_PRM_Id { get; set; }
}
然后我生成了一个迁移来创建这样的表(我只是称之为身份)
“dotnet ef 迁移添加身份”
然后我使用
运行迁移“dotnet ef 数据库更新身份”
这创建了表格,一切都很好。但是,我忘记在我添加的用户类中添加名字和姓氏。问题是当我运行我的新迁移时它说
数据库中已经有一个名为“AspNetRoles”的对象。
如何告诉迁移更新架构而不是尝试重新创建表?否则我必须先手动删除对象..这意味着丢失数据。
谢谢
【问题讨论】:
-
使用新属性更新对象并创建新迁移。这将检测到表已经存在并创建一个只更新现有表的脚本
-
不幸的是,它没有这样做,生成的迁移代码会识别其他列,但会尝试再次创建表,而不是更新。
-
您是如何创建第二次迁移的?
-
和上次一样,使用“dotnet ef migrations add Identity”
-
您想使用不同的名称创建第二个迁移
标签: c# .net-core entity-framework-core asp.net-core-2.0