Строка подключения через cli для обновления базы данныхC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Строка подключения через cli для обновления базы данных

Сообщение Anonymous »


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

Идея состоит в том, чтобы использовать пакет NuGet finbuckle, он получает строку подключения из appsettings.development.json.

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

Моя база данных находится через докер с помощью команды:

docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=myPassword" -p 1433:1433 --name sqlTest--hostname sqlTest -d mcr.microsoft.com/mssql/server:2022-latest и с помощью Azure Data Studio я успешно подключился к базе данных.

когда бы я ни захотел использовать команду:

обновление базы данных dotnet ef -- --connection-string "Server=localhost,1433; Database=test; User Id=SA; Password=myPassword" Я получаю сообщение об ошибке:

System.ArgumentException: формат строки инициализации не соответствует спецификации, начиная с индекса 0. в Microsoft.Data.Common.DbConnectionOptions.GetKeyValuePair(String ConnectionString, Int32 currentPosition, буфер StringBuilder, логическое значение useOdbcRules, String& имя ключа, String& значение ключа) в Microsoft.Data.Common.DbConnectionOptions.ParseInternal(разбираемый словарь `2, String ConnectionString, логическое значение buildChain, синонимы словаря`2, логический firstKey) в Microsoft.Data.Common.DbConnectionOptions..ctor(String ConnectionString, Словарь `2 синонима) в Microsoft.Data.SqlClient.SqlConnectionString..ctor(String ConnectionString) в Microsoft.Data.SqlClient.SqlConnectionFactory.CreateConnectionOptions(String ConnectionString, DbConnectionOptions предыдущая версия) в Microsoft.Data.ProviderBase.DbConnectionFactory.GetConnectionPoolGroup (ключ DbConnectionPoolKey, DbConnectionPoolGroupOptionspoolOptions, DbConnectionOptions& userConnectionOptions) в Microsoft.Data.SqlClient.SqlConnection.ConnectionString_Set (ключ DbConnectionPoolKey) в Microsoft.Data.SqlClient.SqlConnection.set_ConnectionString (строковое значение) в Microsoft.Data.SqlClient.SqlConnection..ctor(String ConnectionString) в Microsoft.EntityFrameworkCore.SqlServer.Storage.Internal.SqlServerConnection.CreateDbConnection() в Microsoft.EntityFrameworkCore.Storage.RelationalConnection.get_DbConnection() в Microsoft.EntityFrameworkCore.Diagnostics.RelationalLoggerExtensions.MigrateUsingConnection (диагностика IDiagnosticsLogger`1, средство миграции IMigrator, соединение IRelationalConnection) в Microsoft.EntityFrameworkCore.Migrations.Internal.Migrator.Migrate(String targetMigration) в Microsoft.EntityFrameworkCore.Design.Internal.MigrationsOperations.UpdateDatabase(String targetMigration, String ConnectionString, String contextType) в Microsoft.EntityFrameworkCore.Design.OperationExecutor.UpdateDatabaseImpl(String targetMigration, String ConnectionString, String contextType) в Microsoft.EntityFrameworkCore.Design.OperationExecutor.UpdateDatabase.c__DisplayClass0_0.b__0() в Microsoft.EntityFrameworkCore.Design.OperationExecutor.OperationBase.Execute (Действие-действие) Формат строки инициализации не соответствует спецификации, начиная с индекса 0.

Я уже пробовал несколько форматов строк подключения, например, указывая IP вместо localhost и добавляя порт к имени сервера. Но у меня всегда возникает одна и та же ошибка, и я не знаю, что делать дальше.
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»