以下解决方案适用于.Net Core 1.1,但从1.1升级到2.0后,我收到以下错误:

InvalidOperationException:无法为"角色"创建数据库集,因为上下文的模型中不包含此类型.

当用户try 登录并执行以下语句时:

var result = await _signInManager.PasswordSignInAsync(model.Email, 
                                model.Password, model.RememberMe, lockoutOnFailure: false);

怎么了?


User.cs

public partial class User : IdentityUser<Guid>
{
    public string Name { get; set; }
}

IdentityEntities.cs

public partial class UserLogin : IdentityUserLogin<Guid>
{
}
public partial class UserRole : IdentityUserRole<Guid>
{
}
public partial class UserClaim : IdentityUserClaim<Guid>
{
}
public partial class Role : IdentityRole<Guid>
{
    public Role() : base()
    { 
    }

    public Role(string roleName)
    {
        Name = roleName;
    }
}
public partial class RoleClaim : IdentityRoleClaim<Guid>
{
}
public partial class UserToken : IdentityUserToken<Guid>
{
}

ConfigureServices

services.AddIdentity<User, Role> 

推荐答案

添加了这个,它起作用了:

builder.Entity<IdentityUserRole<Guid>>().HasKey(p => new { p.UserId, p.RoleId });

Asp.net相关问答推荐

无法翻译 LINQ

分层架构中的 ASP.NET 和实体框架 - 仅将实体框架用于 ORM

从数据库中检索数据的最快方法

异步编程与线程有什么不同?

在视图 Mvc.net 中访问路由值

有没有办法在外部 javascript 文件中使用<%= someObject.ClientID %>?

iOS 8 / Safari 8 不适用于 ASP.NET AJAX 扩展

如何将 global.asax 文件添加到 ASP.NET MVC4 项目?

从 IIS 7/8 中的静态内容中删除服务器标头

使用 Visual Studio 2012 恢复删除的文件

如何将 css 类添加到 ASP.Net 中的更新面板?

排序下拉列表? - C#,ASP.NET

如何从 ASP.Net 发布然后重定向到外部 URL?

根据 DropDownList 的值动态启用或禁用RequiredFieldValidator

无法在 IIS 中启动网站 - W3SVC 正在运行

Asp.Net Mvc - 如何在共享视图中有一个控制器

MVC3 和实体框架

主机与 DnsSafeHost

可以在不 destruct 站点的情况下将 MIME 类型添加到 web.config 吗?

判断 IQueryable 结果集的最佳方法是什么?