我接管了一个Asp.net Mvc 5项目,该项目首先使用实体框架代码,并发布到Azure网站。 ApplicationDbContext (DefaultConnection)
设置正确,并检查了Execute Code First Migrations (runs on application start)
。
我删除了数据库中的所有表并重新发布了该站点。但是,我得到“无法找到对象”dbo.xxxx“的错误,因为它不存在或者你没有权限。”在浏览器中打开网站时。
我尝试删除Azure Sql Server数据库中的所有表并重新发布该项目。但是,打开站点后只会创建以下表格。
AspNetRoles AspNetUsers AspNetUserClaims AspNetUserLogins AspNetUserRoles __MigrationHistory
所有其他表格中的所有DbSet<...>
都放在文件ApplicationDbContext
中的IdentityModels
类中。
答案 0 :(得分:1)
尝试使用MigrateDatabaseToLatestVersion
初始值设定项,请查看标题为“自动升级应用程序启动(MigrateDatabaseToLatestVersion初始化程序)”here
它应该看起来像这样
Database.SetInitializer(new MigrateDatabaseToLatestVersion<ApplicationDbContext , Configuration>());
var appDbContext = new ApplicationDbContext();
appDbContext.Database.Initialize(true);