EF核心迁移错误:对象引用未设置为对象的实例

时间:2019-10-23 10:56:13

标签: c# asp.net-core entity-framework-core

以前,添加迁移对我不起作用,因为迁移和dbcontext位于不同的程序集中。在将它们都移动到同一装配体中之后,不再出现该错误,而是出现了这个新错误。

由于除了堆栈跟踪之外没有太多信息,所以我无法找到问题所在。

命令:

dotnet-ef migrations add identity 

堆栈跟踪:

  

System.NullReferenceException:   你调用的对象是空的。在   Microsoft.EntityFrameworkCore.Design.Internal.CSharpHelper.Literal(字符串   价值)   Microsoft.EntityFrameworkCore.Migrations.Design.CSharpMigrationOperationGenerator.Generate(CreateTableOperation   操作,IndentedStringBuilder构建器)位于   Microsoft.EntityFrameworkCore.Migrations.Design.CSharpMigrationOperationGenerator.Generate(String   builderName,IReadOnlyList1操作,IndentedStringBuilder构建器)   在   Microsoft.EntityFrameworkCore.Migrations.Design.CSharpMigrationsGenerator.GenerateMigration(String   migrationNamespace,字符串migrationName,IReadOnlyList1 upOperations,   IReadOnlyList1 downOperations)位于   Microsoft.EntityFrameworkCore.Migrations.Design.MigrationsScaffolder.ScaffoldMigration(String   migrationName,字符串rootNamespace,字符串subNamespace,字符串   语言)   Microsoft.EntityFrameworkCore.Design.Internal.MigrationsOperations.AddMigration(String   名称,字符串outputDir,字符串contextType)位于   Microsoft.EntityFrameworkCore.Design.OperationExecutor.AddMigrationImpl(String   名称,字符串outputDir,字符串contextType)位于   Microsoft.EntityFrameworkCore.Design.OperationExecutor.AddMigration。<> c__DisplayClass0_0。<。ctor> b__0()   在   Microsoft.EntityFrameworkCore.Design.OperationExecutor.OperationBase。<> c__DisplayClass3_01.b__0()   在   Microsoft.EntityFrameworkCore.Design.OperationExecutor.OperationBase.Execute(操作   操作)对象引用未设置为对象的实例。

2 个答案:

答案 0 :(得分:2)

issue个具有EF内核,当您System.NullReferenceException时会导致Add-Migration

System.NullReferenceException: Object reference not set to an instance of an object.

发生问题的原因是您的任何实体配置中都包含HasComment。它是固定的,将通过EF core 3.1 Nuget(当前处于预览状态)可用。对于EF core 3.0,解决方法是删除所有HasComment

答案 1 :(得分:0)

从DbContext中删除 有评论