模型中的表不在服务器资源管理器表中

Tables from model are not in server explorer tables

我正在创建我的第一个 ASP.NET MVC 应用程序,我遇到了 Entity Framework 的问题。

我创建了 4 个表,将它们添加到 DbContext 对象,然后我保存并关闭了我的项目。所有这些表都在服务器资源管理器 -> 表中。

然后我创建了接下来的 5 个表并将它们添加到 DbContext 对象。不幸的是,我无法在服务器资源管理器 -> 表中找到它们。我尝试刷新、删除表并再添加一次,但它不起作用。

你知道如何解决这个问题吗(我使用代码优先方法)?

是的,你错过了migrations。当您需要更新数据库架构时,将使用迁移。如果您将这些表(模型)添加到您的上下文中,它不会在您的数据库中创建它们,直到您添加迁移。

With migration, it will automatically update the database schema, when your model changes without losing any existing data or other database objects.

Source

1。步骤

运行 Visual Studio -> Tools –> Library Package Manager –> Package Manager Console

2。步骤

运行 程序包管理器控制台中的 Enable-Migrations 命令 - 在包含您的上下文的项目上启用迁移。

3。步骤

Add-Migration AddedFiveNewTables - 准备包含对数据库的所有新更改的脚本。

4。步骤

Update-Database - 运行s 之前添加的迁移并更新您的数据库。