我通过添加外键列扩展了IdentityUserRole,现在我无法授权或检索角色信息。可以请任何人帮我解决这个问题。
我的IdentityUserRole有一个来自AspNetApplications表的外键列,IdentityUserRole扩展名如下
public class AspNetUserRoles : IdentityUserRole
{
[Key]
public string ApplicationId { get; set; }
[ForeignKey("ApplicationId")]
public AspNetApplications AspNetApplications { get; set; }
}
添加迁移后,我可以看到在AspNetUserRoles表中创建了外键列。该表的屏幕截图如下
我要问两个问题
答案 0 :(得分:0)
Discriminator列是关于每个层次结构的表(TPH)。请参阅此链接What is a Discriminator column in ASP.NET Migrations?
关于您的身份验证您的dicriminator列应该有问题。例如,此代码UserManager.GetRoles()具有用于获取数据的Discriminator的where子句。
SELECT [Extent1].[Id] AS [Id], [Extent1].[Name] AS [Name] FROM [dbo].[Roles] AS [Extent1]
WHERE [Extent1].[Discriminator] = N'Role'
我认为发送到数据库的select命令中的where子句值与数据库中的值不同