Файл базы данных не обновляется в папке bin
Использую EFCore с SQLite. Конфигурирующий метод выглядит следующим образом:
public class DatabaseModel : DbContext
{
//...
protected override void OnConfiguring(DbContextOptionsBuilder options)
=> options.UseSqlite("Data Source=Clients.db");
}
В процессе изменения модели и применения миграций возникали ошибки типа "не найдена таблица TableName". Как оказалось visual studio создала 2 файла clients.db один в корневой папке, другой в папке bin/Debug/net5.0-windows. Изменения базы данных записываются в файл в корневой папке, а при запуске программы используется тот, который в bin папке. При ручном копировании файла из одного места в другое все работает. Как поменять настойки entity framework, либо visual studio чтобы они ссылались на один и тот же файл базы данных? Я понимаю, что можно прописать путь bin/Debug/net5.0-windows вручную, но мне кажется это не совсем верно, т.к. программа не должна знать пути к директориям, которые создает визуал студио.
P.S. Вопрос решился изменением настройки файла базы данных "Копировать в выходной каталог" с "не копировать" на "копировать более поздний файл" как указано на рисунке.
Ответы (1 шт):
Попробуй путь к базе указать как указано здесь: https://docs.microsoft.com/ru-ru/ef/core/get-started/overview/first-app?tabs=netcore-cli в разделе "Создание модели", указав фиксированное местоположение из Environment.
