I have an ASP.NET Core 2.0 app using Entity Framework Core and the SQLite Provider. I am trying to store the SQLite database file in a subdirectory (specifically data\database\sqlite.db
) however if I set the Connection String to Data Source=data\database\sqlite.db
I get the following exception as soon as I run dbContext.Database.Migrate()
:
Microsoft.Data.Sqlite.SqliteException (0x80004005): SQLite Error 14: 'unable to open database file'.
If I set it to Data Source=sqlite.db
it works as expected without throwing exceptions (but not in the directory I need it to be stored in). What do I need to do to store the SQLite database file in a sub-directory relative to the current working directory?
For the sake of context: I need the SQLite database file stored in a sub-directory because this app is running in a Docker Container, this specific directory is mapped to a Docker volume so the database persists when the container is replaced.
You should modify to "Data Source=./data/database/sqlite.db"
"DefaultConnection": "DataSource=./data/database/sqlite.db"