Store Entity Framework Core SQLite file in project-relative subdirectory

asp.net-core asp.net-core-2.0 c# entity-framework-core sqlite

Question

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.

1
0
3/30/2018 5:46:02 AM

Popular Answer

You should modify to "Data Source=./data/database/sqlite.db"

"DefaultConnection": "DataSource=./data/database/sqlite.db"

0
8/30/2019 3:00:39 PM


Related Questions





Related

Licensed under: CC-BY-SA with attribution
Not affiliated with Stack Overflow
Licensed under: CC-BY-SA with attribution
Not affiliated with Stack Overflow