Получение ошибки со строкой подключения при первом вызове базы данных обновления в коде EF, но строка подключения правилC#

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

Сообщение Anonymous »

У меня есть тестовое приложение, которое использует EF и использует Context Factory для создания контекста для использования с миграцией.
Я могу вызвать добавление миграции, и оно создаст подходящую миграцию в моем проекте, но когда я вызываю базу данных обновления, я получаю сообщение об ошибке.
Фабрика контекста выглядит следующим образом

Код: Выделить всё

public class ContextFactory: IDesignTimeDbContextFactory
{
public DBContext CreateDbContext(string[] args)
{
var optionsBuilder = new DbContextOptionsBuilder();

optionsBuilder.UseSqlite("Data Source=C:\\tmp\\sqlite.db; Version=3;");

return new DBContext(optionsBuilder.Options);
}
}
и я получаю следующую ошибку:

Код: Выделить всё

PM> Update-Database
Build started...
Build succeeded.
System.ArgumentException: Format of the initialization string does not conform to specification starting at index 0.
at System.Data.Common.DbConnectionOptions.GetKeyValuePair(String connectionString, Int32 currentPosition, StringBuilder buffer, Boolean useOdbcRules, String& keyname, String& keyvalue)
at System.Data.Common.DbConnectionOptions.ParseInternal(Dictionary`2 parsetable, String connectionString, Boolean buildChain, Dictionary`2 synonyms, Boolean firstKey)
at System.Data.Common.DbConnectionOptions..ctor(String connectionString, Dictionary`2 synonyms, Boolean useOdbcRules)
at System.Data.Common.DbConnectionStringBuilder.set_ConnectionString(String value)
at Microsoft.Data.Sqlite.SqliteConnectionStringBuilder..ctor(String connectionString)
at Microsoft.Data.Sqlite.SqliteConnectionFactory.GetPoolGroup(String connectionString)
at Microsoft.Data.Sqlite.SqliteConnection.set_ConnectionString(String value)
at Microsoft.Data.Sqlite.SqliteConnection..ctor(String connectionString)
at Microsoft.EntityFrameworkCore.Sqlite.Storage.Internal.SqliteRelationalConnection.CreateDbConnection()
at Microsoft.EntityFrameworkCore.Storage.RelationalConnection.get_DbConnection()
at Microsoft.EntityFrameworkCore.Diagnostics.RelationalLoggerExtensions.MigrateUsingConnection(IDiagnosticsLogger`1 diagnostics, IMigrator migrator, IRelationalConnection connection)
at Microsoft.EntityFrameworkCore.Migrations.Internal.Migrator.Migrate(String targetMigration)
at Microsoft.EntityFrameworkCore.Design.Internal.MigrationsOperations.UpdateDatabase(String targetMigration, String connectionString, String contextType)
at Microsoft.EntityFrameworkCore.Design.OperationExecutor.UpdateDatabaseImpl(String targetMigration, String connectionString, String contextType)
at Microsoft.EntityFrameworkCore.Design.OperationExecutor.UpdateDatabase.c__DisplayClass0_0.b__0()
at Microsoft.EntityFrameworkCore.Design.OperationExecutor.OperationBase.Execute(Action action)
Format of the initialization string does not conform to specification starting at index 0.
Я проверил с помощью компактного набора инструментов сервера SQLite и подтвердил, что строка подключения действительна.
В чем проблема и как ее решить? Как мне получить более точные данные об ошибках, чтобы их можно было исправить?

Подробнее здесь: https://stackoverflow.com/questions/790 ... f-code-fir
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

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

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