Обновление базы данных dotnet ef в проекте ASP.NETCORE2.1 с помощью MSSQLSERVER - Формат строки инициализации не соответствует спецификации ..index 0 - PullRequest
0 голосов
/ 26 декабря 2018

Как видно из заголовка, я пытаюсь использовать обновление базы данных dotnet ef из командной строки и получаю сообщение об ошибке. Формат строки инициализации не соответствует спецификации, начиная с индекса 0.

При поиске по этомусайт и Интернет, все указывает на то, что строка подключения неверна, но строка подключения работает нормально, чтобы скомпилировать и запустить приложение.Я пытаюсь добавить Identity в проект, чтобы у меня были пользователи с паролями, и я пытаюсь следовать учебнику по Deep Dive по Pluralsight, но когда он доходит до этой части, код завершается ошибкой.

Моя строка подключенияв appsettings.json это

  "ConnectionStrings": {
"DefaultConnection": "Server=PTI-VWS12-002;Database=EPDM_TestVault;Trusted_Connection=true;MultipleActiveResultSets=true;"
},

Код в моем Startup.cs:

var migrationAssembly = typeof(Startup).GetTypeInfo().Assembly.GetName().Name;

services.AddDbContext<ApplicationDbContext>(options => 
            options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection"), sql=> sql.MigrationsAssembly(migrationAssembly)));

, хотя я также пробовал это без сборки миграции.Я действительно не уверен, что может быть не так с моей строкой соединения.

РЕДАКТИРОВАТЬ: Мой конструктор:

public IConfiguration Configuration { get; } 
public Startup(IConfiguration configuration) { Configuration = configuration; } 

И мой конструктор имеет значение по умолчанию для ASP.NET CORE 2.1

public static IWebHostBuilder CreateWebHostBuilder(string[] args) => WebHost.CreateDefaultBuilder(args) .UseStartup<Startup>(); 

РЕДАКТИРОВАТЬ 2: Решено.Я все еще не уверен, что я сделал неправильно в моем проекте, но я получил таблицы Identity для генерации с использованием официальной библиотеки примеров проекта Asp.NET здесь https://github.com/aspnet/Docs. Использование точного файла миграции из IdentityDemo и выгрузкав приведенной выше строке подключения я смог создать таблицы идентификаторов в своей базе данных.

Ответы [ 2 ]

0 голосов
/ 28 декабря 2018

Я все еще не уверен, что я сделал неправильно в моем проекте, но я получил таблицы Identity для генерации с использованием официальной библиотеки примеров проекта Asp.NET здесь https://github.com/aspnet/Docs. Использование точного файла миграции из IdentityDemoи добавив в строку подключения сверху, я смог создать таблицы Identity в моей базе данных.РЕДАКТИРОВАТЬ: он все еще не работает в контексте моей программы.

0 голосов
/ 26 декабря 2018

Сначала необходимо настроить IConfiguration с помощью IConfigurationBuilder в конструкторе запуска или в файле Program.cs перед запуском Kestrel Server.

var builder = new ConfigurationBuilder()
    .SetBasePath(env.ContentRootPath)
    .AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
    .AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true)
    .AddEnvironmentVariables();
_configuration = builder.Build();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...