【发布时间】:2019-06-26 08:54:29
【问题描述】:
我正在尝试用我自己的名为 UserRoles 的类替换默认的 IdentityUserRole 类。到目前为止我做了什么:
[Table("IdentityUserRole", Schema = "ManagementStudio")]
public class UserRoles : IdentityUserRole<string>
{
[Key]
public string Id { get; set; }
[ForeignKey("Users")]
public override string UserId { get; set; }
public virtual ApplicationUsers Users { get; set; }
[ForeignKey("Roles")]
public override string RoleId { get; set; }
public virtual Roles Roles { get; set; }
}
在我的 DbContext 类中:
public DbSet<UserRoles> UserRoles{ get; set; }
在我的 onModelBuilding 中
modelBuilder.Entity<UserRoles>()
.ToTable("IdentityUserRole", schema: "ManagementStudio");
这是我尝试登录时遇到的错误:
处理请求时发生未处理的异常。 InvalidOperationException:无法为 'IdentityUserRole',因为此类型不包含在 上下文模型。 Microsoft.EntityFrameworkCore.Internal.InternalDbSet.get_EntityType()
IdentityUserClaim 也会发生这种情况。
【问题讨论】:
-
提示:如果您已经在使用entitiy.ToTable,则不必使用[Table]。
-
我这样做是因为当我引用这个 dll 时,其他应用程序似乎无法检测到它的架构
标签: c# asp.net .net asp.net-mvc asp.net-core