Передача строки подключения в конструктор контекста EF при возникновении проблем со строкой - PullRequest
0 голосов
/ 15 февраля 2019

Я использую C # winform с EF6 codefirst и сталкиваюсь со странной проблемой.

Я добавил файл настроек в свой проект для хранения строк подключения.

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

    public AppStructMahkeme()
        : base(MySettings.Default.connectionString)
    {
        Database.SetInitializer(new MigrateDatabaseToLatestVersion<AppStructMahkeme, Configuration>());
        Database.SetInitializer(new CreateDatabaseIfNotExists<AppStructMahkeme>());
    }

    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
        base.OnModelCreating(modelBuilder);
    }

также в файле конфигурации включены автоматические миграции

 public Configuration()
    {
        AutomaticMigrationsEnabled = true;

    }

Хорошо, вот сценарии;1 - пользователь запускает приложение в первый раз и вводит строку подключения.все работает нормально, таблицы создаются и т. д.

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

, поэтому я знаю, что мне нужно add-migration, чем update-database, однако, когдаПри этом я получаю следующую ошибку на консоли диспетчера пакетов

Аргумент 'nameOrConnectionString' не может быть нулевым, пустым или содержать только пробел.

обратите внимание, чтоСтрока подключения уже введена в этот момент.И если я удаляю все таблицы сейчас и снова запускаю приложение, создаются таблицы с добавленным новым полем.

Любые идеи, что мне здесь не хватает?почему он не переносится автоматически при добавлении новых полей?

спасибо заранее!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...