如果这已经得到回答,请提前道歉但是我老实说深入挖掘并找不到与此错误有关的任何内容。
简而言之,我无法使用ASP.NET Core 1.1.2项目中的代码对我的数据库进行任何更新。这是一个例外,因为它错过了一个我认为不与PMC有关的论点。
使用“Update-Database”时出现错误消息:
交叉检查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'表相同(忽略上次安排更新的迁移):
我甚至已经删除了迁移文件夹和'_EFMigrationsHistory'表并再次启动,这表示同样的错误。我也打算测试'v2.0.0-preview2-final'以防它是一个bug,但遗憾的是我的VS版本只需要发布版本,显然你需要15.3。
版本信息:
任何指针都会非常感激。
修改
@DavidG
dotnet ef database update
和Update-Database -TargetMigration AdUserImage
答案 0 :(得分:2)
我终于解决了这个问题,感谢@DavidG让我朝着正确的方向前进,所以非常感谢你。
我意识到当我在PC上检查已安装的SDK时,我注意到我已经安装了Dotnet 2.0.0的预发行版(我老实说不记得这样做了)。从PMC检查Dotnet版本(dotnet --version
)确认VS正在使用2.0.0。卸载所有Dotnet SDK和运行时,然后从here重新安装最新版本的Dotnet(1.1.2)后,Update-Database
正在运行......很少!