MVC 5 - IdentityDbContext 调用 Database.Exists 在每个页面上

Jac*_*rts 2 c# entity-framework dbcontext

我开发了一个 MVC5 应用程序。数据库上下文派生自IdentityDbContext. 当我创建数据库上下文的实例并调用基类时,它IdentityDbContext正在调用一个Database.Exists()方法。

无论如何我可以阻止它,因为当用户点击登录页面时,它需要一个UserManager需要 a 的DbContext,因此它查询数据库以查看数据库是否存在。

在任何情况下,在每个页面上,我的控制器构造函数都会设置它,UserManager以便始终发送此查询。

谢谢。

Jac*_*rts 5

挖掘后,我想出了为什么要调用查询。出于某种原因,我认为throwIfV1Schema默认为 false。这是IdentityDbContext构造函数中的重载之一,默认为 true 并导致DBContext.Exists()每次IdentityDbContext创建新实例时调用。