Невозможно создать файл * .mdf, потому что он уже существует - PullRequest
0 голосов
/ 11 декабря 2018

Я использую Entity-Framework в Winforms приложении.Приложение подключается к MSSQLServer и все работает отлично.Затем я отсоединяю базу данных и копирую файл .mdf в папку приложения и изменяю строку подключения для использования локального файла .mdf, но все равно все работает нормально.

Проблема заключается в том, что при копировании приложениявнезапно вместе с базой данных на другом компьютере EF пытается воссоздать базу данных и выдает следующую ошибку:

Невозможно создать файл 'Path \ MyDatabaseName.mdf' , поскольку он уже существует.Измените путь к файлу или имя файла и повторите операцию.СОЗДАТЬ БАЗУ ДАННЫХ не удалось.Некоторые имена файлов не могут быть созданы.Проверьте связанные ошибки.

Инициализатор контекста установлен на MigrateDatabaseToLatestVersion:

Database.SetInitializer<MyContext>(new MigrateDatabaseToLatestVersion<MyContext, DAL.Migrations.Configuration>("MyConnectionString"));

Кроме того, автоматическая миграция отключена, и EF Code-First создает на Sql-сервере базу данныхи уже обновлено до последней миграции, поэтому миграция не требуется.

Строка подключения для первого сценария:

<add name="MyConnectionString" connectionString="Server=DESKTOP-XXXXXXX; Database=MyDatabase; Integrated Security=True; Connect Timeout=30;" providerName="System.Data.SqlClient">

и для локального .mdf файл:

<add name="MyConnectionString" connectionString="Data Source=(LocalDB)\MSSQLLocalDB; AttachDbFilename=|DataDirectory|\MyDatabase.mdf; Integrated Security=True;Connect Timeout=30" providerName="System.Data.SqlClient" />

Итак, что здесь происходит ??

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