Skip to content

Commit 0e7b9e7

Browse files
committed
Get the SQLite-File path from the ConnectionString.
1 parent 873e356 commit 0e7b9e7

File tree

1 file changed

+12
-2
lines changed

1 file changed

+12
-2
lines changed

SQLiteEfCodeFirstDbCreator/SqliteContextInitializer.cs

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
using System;
22
using System.Data.Entity;
33
using System.IO;
4+
using System.Linq;
45

56
namespace SQLiteEfCodeFirstDbCreator
67
{
@@ -10,12 +11,21 @@ public class SqliteContextInitializer<T> : IDatabaseInitializer<T>
1011
private readonly bool dbExists;
1112
private readonly DbModelBuilder modelBuilder;
1213

13-
public SqliteContextInitializer(string dbPath, DbModelBuilder modelBuilder)
14+
public SqliteContextInitializer(string connectionString, DbModelBuilder modelBuilder)
1415
{
15-
dbExists = File.Exists(dbPath);
16+
string path = GetPathFromConnectionString(connectionString);
17+
dbExists = File.Exists(path);
1618
this.modelBuilder = modelBuilder;
1719
}
1820

21+
private string GetPathFromConnectionString(string connectionString)
22+
{
23+
string[] keyValuePairs = connectionString.Split(';');
24+
string dataSourceKeyValuePair = keyValuePairs.Single(s => s.ToLower().StartsWith("data source"));
25+
string dataSourceValue = dataSourceKeyValuePair.Split('=')[1];
26+
return dataSourceValue;
27+
}
28+
1929
public void InitializeDatabase(T context)
2030
{
2131
if (dbExists)

0 commit comments

Comments
 (0)