Значение Add-Migration не может быть нулевым. Имя параметра: язык

Я пытаюсь создать новую миграцию, но я получаю System.ArgumentNullException, говорящий:

System.ArgumentNullException: Value cannot be null.
Parameter name: language
    at Microsoft.EntityFrameworkCore.Utilities.Check.NotNull[T](T value, 
    String parameterName)
    at Microsoft.EntityFrameworkCore.Design.Internal.MigrationsOperations..ctor
    (IOperationReporter reporter, Assembly assembly, Assembly 
    startupAssembly, String projectDir, String rootNamespace, String 
    language)
    at Microsoft.EntityFrameworkCore.Design.OperationExecutor.<>c__DisplayClass4_0.<.ct
    or>b__4()
    at Microsoft.EntityFrameworkCore.Internal.LazyRef`1.get_Value()
    at Microsoft.EntityFrameworkCore.Design.OperationExecutor.AddMigrationImpl(String name, String outputDir, String contextType)
    at Microsoft.EntityFrameworkCore.Design.OperationExecutor.OperationBase.<>c__DisplayClass3_0`1.<Execute>b__0()
    at Microsoft.EntityFrameworkCore.Design.OperationExecutor.OperationBase.Execute(Action action)
Value cannot be null.
Parameter name: language

5 ответов

Решение

Это связано с EF Core, а не с EF6, похоже, что в версии 2.1.0.preview1-final есть ошибка.

  • Проверьте версию, которую вы используете, с помощью dotnet ef --version
  • Вернитесь к версии Microsoft.EntityFrameworkCore.Design 2.0.1.

Это проблема № 11075. Версия вашего инструмента не соответствует версии вашего времени выполнения. Убедитесь, что вы обновили каждый пакет Microsoft.EntityFrameworkCore до версии 2.1.0-preview1-final.

Если этоEF 6.x.x, затем используйтеVS2019.

Ссылка: https://github.com/dotnet/ef6/issues/1870 .

Для EF Core для.NET Core 2.0.1 в VS 2017 версии 15.7.1 я удалил элемент DotNetCliToolReference из моего файла проекта.

Я считаю это ошибкой.
Я использую EF Core 2.2.4, я пытаюсь откатить миграцию с помощью:

migrationBuilder.DropIndex(name: "myIndexName");

Это было автоматически создано EF для меня.
В сигнатуре метода указано, что имя является единственным обязательным параметром (после него идут 2 необязательных параметра). Когда я запускаю это, я получаю следующее:

System.ArgumentNullException: Value cannot be null.
Parameter name: name

но если я добавлю второй параметр для имени таблицы, он будет работать:

migrationBuilder.DropIndex(
                name: "myIndexName",
                table: "myTableName");
Другие вопросы по тегам