2015-09-08 3 views
0

У меня локальный sqlite db рядом с моим * .exe файлом, и мне нужно, чтобы ядро ​​миграции создало (по команде базы данных Update-database) в этом месте. Теперь я использую только базу данных имя как параметр конструктора DbContext, но db не генерируется рядом с моим * .exe (я думаю, потому что он выполняется в другом процессе).Путь к базе данных для миграции структуры сущности

Как я могу это сделать?

Я нашел решение здесь, но это не хорошо ... How to create dynamic database in entity framework with specified path?

Спасибо.

+0

Пожалуйста, дайте мне знать, если я расскажу о своей проблеме неясно. – Serg046

+0

Вот поток создания SQLite, который может помочь: http://stackoverflow.com/questions/22174212/entity-framework-6-with-sqlite-3-code-first-wont-create-tables –

+0

Если SQLite doesn ' t поддержка db инициализации Я могу использовать локальный db по умолчанию, но мне нужно иметь db около файла * .exe ... – Serg046

ответ

2

В моих WindowsForms приложений с SQL Server CE я это делаю шаги:

1) В app.config настроить строку соединения, как это (добавить "| DataDirectory |")

.... connectionString="Data Source=|DataDirectory|yourDatabase.sdf" /> 

2) в конструкторе конфигурации() класса вставки пути к месту с базой данных

internal sealed class Configuration : DbMigrationsConfiguration<DataContext> 
{ 
    public Configuration() 
    { 
     AppDomain.CurrentDomain.SetData("DataDirectory", @"your_path"); 
    } 
... 
} 

После «обновление-базы данных» команда EF обновит базу данных на этом пути

Смежные вопросы