【发布时间】:2017-12-30 03:22:33
【问题描述】:
如果已经回答了这个问题,请提前道歉,但老实说,我已经深入挖掘并且找不到与此错误相关的任何内容。
简而言之,我无法先在我的 ASP.NET Core 1.1.2 项目中使用代码对我的数据库进行任何更新。它抛出了一个异常,因为它缺少一个我猜与 PMC 无关的论点。
使用“更新数据库”时的错误消息:
用于交叉检查 Google 的文本;-)
System.ArgumentException: The string argument 'migrationId' cannot be empty.
at Microsoft.EntityFrameworkCore.Utilities.Check.NotEmpty(String value, String parameterName)
at Microsoft.EntityFrameworkCore.Migrations.HistoryRepository.GetAppliedMigrations()
at Microsoft.EntityFrameworkCore.Migrations.Internal.Migrator.Migrate(String targetMigration)
at Microsoft.EntityFrameworkCore.Design.Internal.MigrationsOperations.UpdateDatabase(String targetMigration, String contextType)
at Microsoft.EntityFrameworkCore.Design.OperationExecutor.UpdateDatabase.<>c__DisplayClass0_1.<.ctor>b__0()
at Microsoft.EntityFrameworkCore.Design.OperationExecutor.OperationBase.Execute(Action action)
The string argument 'migrationId' cannot be empty.
Migrations 文件夹与我的“_EFMigrationsHistory”表相同(忽略计划更新的最后一次迁移):
我什至已经删除了 Migrations 文件夹和 '_EFMigrationsHistory' 表并重新开始,但出现了同样的错误。我还打算测试'v2.0.0-preview2-final'以防万一它是一个错误,但遗憾的是我的VS版本只需要发布版本,显然你需要15.3。
版本信息:
- Visual Studio Enterprise 2017 - 15.2 (26430.16) 版本
- 实体框架核心 v1.1.2
- ASP.NET Core v1.1.2
任何指针将不胜感激。
编辑
@DavidG
对于dotnet ef database update
对于Update-Database -TargetMigration AdUserImage
【问题讨论】:
-
如果指定目标迁移会发生什么?例如:
Update-Database -TargetMigration AdUserImage -
或使用 EF Core CLI:
dotnet ef database update -
试试这个,先删除迁移文件夹,然后从数据库中删除迁移历史,然后尝试运行
add-migration和update-database。跨度> -
是的,这也是我的想法(明确定位迁移)。您不应该 必须 这样做,但根据错误,听起来可能会解决它。每次都必须这样做有点痛苦,但至少它可能会给你一个解决方法。
-
上次迁移是如何创建的?在你的 Migrations 文件夹中看起来有点奇怪,是不是在创建过程中出现了问题?
标签: c# asp.net-mvc entity-framework-core entity-framework-migrations