【发布时间】:2019-10-05 10:54:52
【问题描述】:
在我的 ASP.NET Entity Framework 6 项目中,我添加了一个新的模型和控制器。 我启用了自动迁移,但禁用了允许数据丢失。
当我在这些更改后运行应用程序时,新表实际上已创建到数据库中,但应用程序告诉我:
未应用自动迁移,因为它会导致数据丢失
没有任何其他细节。正如我在其他问题中所读到的那样:
Database-Update -Script
获得“差异”但没有发生任何事情,只是相同的错误消息。 我真的不想强制更新,除非我确定它会做什么。
我应该怎么做才能检索当前迁移的内容? 我试图查看 dbo.__MigrationHistory 表,但 Model 字段包含二进制数据。
更新
我能够使用 this 方法解码 Model 字段,但 edmx 文件仅包含 db 的整个图表,而不是迁移将发出的实际命令。
此外,即使按照工具本身的建议添加-Verbose 标志:
PM> Update-Database -Verbose
Using StartUp project 'MyProject'.
Using NuGet project 'MyProject'.
Specify the '-Verbose' flag to view the SQL statements being applied to the target database.
它不显示 SQL 语句...
【问题讨论】:
标签: c# entity-framework visual-studio-2015 database-migration