使用 SSMS 删除了本地数据库表,无法使用 ASP.NET Entity Framework 重新创建它

Posted

技术标签:

【中文标题】使用 SSMS 删除了本地数据库表,无法使用 ASP.NET Entity Framework 重新创建它【英文标题】:Deleted local database tables using SSMS and can't recreate it with ASP.NET Entitiy Framework 【发布时间】:2021-12-29 05:56:51 【问题描述】:

我有点忙,使用 SQL Server Management Studio (SSMS) 删除了我的数据库表,并手动删除了所有迁移。

数据库是本地的,仅用于测试目的。如何使用 Entity Framework 再次创建表?

如果涉及大量工作,我是否最好启动一个新的 ASP.NET 应用程序并跨我的代码进行复制?

【问题讨论】:

您删除了哪些迁移? .cs 文件和快照? 仍有快照和 createIdentityschema 迁移 【参考方案1】:

如果您因为尚未部署应用而想重新开始迁移,您可以:

    删除 Migrations 目录,包括其快照和迁移文件。 创建一个新的迁移:dotnet ef migrations add Initial 更新您的数据库:dotnet ef database update

这将生成一个迁移并根据您的实体的当前状态初始化数据库。


如果您只删除了数据库但仍有迁移,那么获取一个新的非常简单:

dotnet ef database update

【讨论】:

哇,这比我预期的要容易得多。谢谢你:)

以上是关于使用 SSMS 删除了本地数据库表,无法使用 ASP.NET Entity Framework 重新创建它的主要内容,如果未能解决你的问题,请参考以下文章

SSMS数据的导入和导出不能保持视图结构。

为啥 SSMS 在添加列时不智能?

SQL server :“增删改查” 之 “删”

SSMS 中的大小写敏感性

SQL Server2008连接不到本地数据库引擎

界面方式创建修改和删除关系表以及定义表的完整约束