相关疑难解决方法(0)

为什么Asp.Net Identity IdentityDbContext是黑盒子?

IdentityDbContext似乎有很多混乱.

如果我们在应用程序中创建两个数据库上下文,一个用于Identity,一个用于我们的自定义业务数据,则Identity Database Context继承自IdentityDbContext,而我们的自定义业务数据继承自DbContext.

所以让我们将以下内容添加到控制器:

private MyDbContext db = new MyDbContext();
private ApplicationDbContext identityDb = new ApplicationDbContext();
Run Code Online (Sandbox Code Playgroud)

以下是控制器中的Index方法:

var thingsInMyBusinessDb = db.Things.ToList();
var usersInIndentityDb = identityDb.AspNetUsers.ToList(); // THIS WILL HAVE AN ERROR
var roles = identityDb.AspNetRoles.ToList(); // ERROR
Run Code Online (Sandbox Code Playgroud)

您还会注意到Indentity数据库中的表不可用.为什么是这样?

目前从2.0.0-beta1开始,有一个用户和角色项目,但我希望实际的表格可用. 那么为何不?如果我想访问AspNetUserRoles怎么办?

当然,如果它被视为实体框架中的任何数据库上下文,那么Asp.Net Identity的许多混淆和问题肯定会消失.

c# asp.net asp.net-mvc entity-framework asp.net-identity

34
推荐指数
2
解决办法
2万
查看次数