3

我首先在我的网站中使用 Entity Frame work 5 代码。一切都很好,我一直在使用

更新数据库-详细

但是,用新数据或新结构和模型更新数据库;update-database 突然停止工作,不再跟踪模型和新表的更改。

我在互联网上搜索过,有人说我必须删除数据库上下文并重新创建它才能使其工作。我不能这样做,这个项目有点大,如果我删除数据库上下文会影响超过 4k 行。

我正在使用带有第三次更新的 Visual Studio 2012,因此更新也不是解决方案。

有什么建议么。

4

3 回答 3

5

正如我告诉你的那样,删除数据库上下文并没有解决我的问题。这就是我解决问题的方法。我使用 sql 命令删除了表_ _MigrationHistory 并再次运行 update-database -verbose。

显然这个自动创建的表有问题。

于 2013-07-19T05:59:14.883 回答
1

我无论如何都不是专家,但我的表不是使用 PM> Update-Database 命令创建的,所以我:

  1. 删除数据库(SQL Server)
  2. 删除了迁移文件夹(根/迁移)
  3. 在 VS2019 的 SQL Server 对象资源管理器中右键单击“数据库”文件夹手动重新添加数据库;确保您的数据库名称与“appsettings.json”中的数据库名称完全相同,例如(“sqlConnection”:“server=[MyServerName]; database=[DB NAME]; Integrated Security=true”)
  4. 在 VS2019 包管理器中运行“Add-Migration InitialMigration”和“Update-Database”

您的表格和列将出现。这对我有用。同样,我是一个新手,只是想弄清楚。

于 2020-10-03T14:44:24.653 回答
1

有时它们不会生成,因为它们没有在 IdentityModels.cs 文件中正确注册。

就在上下文创建方法之后

public static ApplicationDbContext Create()
        {
            return new ApplicationDbContext();
        }

添加班级注册

public System.Data.Entity.DbSet<PROJECT.Models.MODELNAME> MODELNAME { get; set; }

构建项目并运行 update-database -verbose(-verbose 开关将显示所做的更新)

于 2017-05-02T22:04:00.687 回答