我有一个 .NET 应用程序,它使用 EntityFramework 6.2.0 来创建和管理我的数据库。我还有一个继承自
IdentityDbContext
的类。
我了解,在发出初始
update-database
命令后,我的数据库将使用 AspNetUserRoles
表创建,其中包含两列:UserId
和 RoleId
。
我的问题是:如何扩展此表以包含两个附加列:
CreatedBy
和UpdatedBy
,其中每列将保存一个 GUID 值。
我也希望通过代码更新这两列,因此将它们也作为属性添加到
IdentityUserRole
类中。
我已经尝试通过创建自定义
ApplicationUserRole
类并继承 IdentityUserRole
来做到这一点,但每当我尝试添加新的迁移时,我都会看到此 Discriminator
列弹出。
我有没有办法也取消这个新专栏?
你可以试试这个:
public class ApplicationUser:IdentityUser<string>
{
}
public class ApplicationRole : IdentityRole<string>
{
}
public class ApplicationUserClaim : IdentityUserClaim<string>
{
}
public class ApplicationUserRole : IdentityUserRole<string>
{
public Guid CreatedBy { get; set; }
public Guid UpdatedBy { get; set; }
}
public class ApplicationUserLogin : IdentityUserLogin<string>
{
}
public class ApplicationRoleClaim : IdentityRoleClaim<string>
{
}
public class ApplicationUserToken : IdentityUserToken<string>
{
}
ApplicationDbContext.cs
public class ApplicationDbContext : IdentityDbContext<ApplicationUser,ApplicationRole,string, ApplicationUserClaim, ApplicationUserRole, ApplicationUserLogin, ApplicationRoleClaim, ApplicationUserToken>
{
public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options)
: base(options)
{
}
}