我试图在 .Net 6、EntityFrameworkCore 中设置与 AspNetUserRoles 的多对多关系,但出现错误:
无法将表“AspNetUserRoles”用于实体类型“DeltaIdentityUserRole”,因为它用于实体类型“AspNetUserRoles (Dictionary<string, object>)”以及可能的其他实体类型,但不存在链接关系。将外键添加到主键属性上的“DeltaIdentityUserRole”,并指向映射到“AspNetUserRoles”的另一个实体类型上的主键。
这是代码:
public class DeltaIdentityUser<T> : IdentityUser<int>
{
public virtual UserProfile User { get; set; }
}
public class DeltaIdentityRole<T> : IdentityRole<int>
{
internal virtual ICollection<UserProfile> UserProfiles { get; set; }
}
public class DeltaIdentityUserRole<T> : IdentityUserRole<int>
{
public virtual UserProfile User { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
数据库上下文:
DeltaContext : DeltaIdentityContext<DeltaIdentityUser<int>, DeltaIdentityRole<int>, int, IdentityUserClaim<int>, DeltaIdentityUserRole<int>, IdentityUserLogin<int>, IdentityRoleClaim<int>, IdentityUserToken<int>>
Run Code Online (Sandbox Code Playgroud)
数据库集:
public virtual DbSet<DeltaIdentityUser<int>> AspNetUser { get; set; } = null!;
public virtual DbSet<DeltaIdentityUserRole<int>> …Run Code Online (Sandbox Code Playgroud)