Skip to content

Commit e9ef7cf

Browse files
tomsoftwaremsallin
authored andcommitted
Make DeleteDatabase in DropCreateDatabaseWhenModelChanges virtual
To allow custumer deleting of database
1 parent a839434 commit e9ef7cf

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

SQLite.CodeFirst/Public/DbInitializers/SqliteDropCreateDatabaseWhenModelChanges.cs

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,7 @@ public override void InitializeDatabase(TContext context)
7979
}
8080

8181
FileAttributes? attributes = InMemoryAwareFile.GetFileAttributes(databseFilePath);
82+
CloseDatabase(context, databseFilePath);
8283
DeleteDatabase(context, databseFilePath);
8384
base.InitializeDatabase(context);
8485
InMemoryAwareFile.SetFileAttributes(databseFilePath, attributes);
@@ -91,13 +92,16 @@ public override void InitializeDatabase(TContext context)
9192
}
9293
}
9394

95+
protected virtual void DeleteDatabase(TContext context, string databseFilePath) {
96+
InMemoryAwareFile.Delete(databseFilePath);
97+
}
98+
9499
[SuppressMessage("Microsoft.Reliability", "CA2001:AvoidCallingProblematicMethods", MessageId = "System.GC.Collect", Justification = "Required.")]
95-
private static void DeleteDatabase(TContext context, string databseFilePath)
100+
private static void CloseDatabase(TContext context, string databseFilePath)
96101
{
97102
context.Database.Connection.Close();
98103
GC.Collect();
99104
GC.WaitForPendingFinalizers();
100-
InMemoryAwareFile.Delete(databseFilePath);
101105
}
102106

103107
private void SaveHistory(TContext context)

0 commit comments

Comments
 (0)