我正在从事两个类似的项目 - 但我没有创建其中任何一个。
它们都具有相同的本地上下文,如下所示:
using Microsoft.AspNet.Identity.EntityFramework;
public class LocalContext :
IdentityDbContext
<ApplicationUser, ApplicationRole, int, ApplicationUserLogin, ApplicationUserRole, ApplicationUserClaim>
{
//.....
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
AddConfigurations(modelBuilder);
}
}
搜索整个项目以获取参考OnModelCreating
返回上面提到的 2 个实例,加上命名空间中对此方法的引用Microsoft.AspNet.Identity.EntityFramework
这些项目是使用 Onion 架构制作的,我使用 Swagger 运行 REST 层。
问题是在其中一个项目中,OnModelCreating
当我启动应用程序时调用(这是我所期望的),而在另一个应用程序中,它在用户第一次执行操作时调用。
谁能解释这是为什么吗?
我假设某个地方有一个设置触发了此调用 - 但我找不到它 - 正如我上面所说,我已经搜索了整个项目,但找不到调用此方法的任何地方。
据我所知,这两个项目之间的所有参考文献都是相同的 - 有人可以帮忙吗?
当数据库上下文初始化时会调用它。
如果您在启动代码中使用数据库初始值设定项,则会发生以下情况:
Database.SetInitializer(new CreateDatabaseIfNotExists<MyDbContext>());
否则,第一次创建它的实例时就会发生这种情况:
using (var context = new MyDbContext()) {
...
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)