在IdentityDbContext
左右似乎有很多困惑.
如果我们在应用程序中创建两个数据库上下文,一个用于标识,另一个用于自定义业务数据,则标识数据库上下文从IdentityDbContext
继承,而自定义业务数据从DbContext
继承.
因此,让我们将以下内容添加到控制器中:
private MyDbContext db = new MyDbContext();
private ApplicationDbContext identityDb = new ApplicationDbContext();
以下是控制器中的索引方法:
var thingsInMyBusinessDb = db.Things.ToList();
var usersInIndentityDb = identityDb.AspNetUsers.ToList(); // THIS WILL HAVE AN ERROR
var roles = identityDb.AspNetRoles.ToList(); // ERROR
您还将注意到,标识数据库中的表不可用.Why is this?
目前,从2.0.0-beta1开始,有一个用户和角色项,但我希望实际的表是可用的.And why not?如果我想进入AspNetUserRoles呢
当然,如果在实体框架中像对待任何数据库上下文一样对待念力,那么很多关于ASP.NET标识的念力和问题就会消失得无影无踪.