Skip to content

Commit 9aefc21

Browse files
author
Marc Sallin
committed
#16: API changes.
1 parent e0bbef9 commit 9aefc21

File tree

6 files changed

+17
-33
lines changed

6 files changed

+17
-33
lines changed

SQLite.CodeFirst/DbInitializers/SqliteDropCreateDatabaseWhenModelChanges.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -158,8 +158,8 @@ private string GetHashFromModel(DbConnection connection)
158158
private string GetSqlFromModel(DbConnection connection)
159159
{
160160
var model = ModelBuilder.Build(connection);
161-
var sqliteSqlGenerator = new SqliteSqlGenerator(model.StoreModel);
162-
return sqliteSqlGenerator.Generate();
161+
var sqliteSqlGenerator = new SqliteSqlGenerator();
162+
return sqliteSqlGenerator.Generate(model.StoreModel);
163163
}
164164
}
165165
}

SQLite.CodeFirst/DbInitializers/SqliteInitializerBase.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,8 +70,8 @@ public virtual void InitializeDatabase(TContext context)
7070
{
7171
try
7272
{
73-
var sqliteDatabaseCreator = new SqliteDatabaseCreator(context.Database, model);
74-
sqliteDatabaseCreator.Create();
73+
var sqliteDatabaseCreator = new SqliteDatabaseCreator();
74+
sqliteDatabaseCreator.Create(context.Database, model);
7575
transaction.Commit();
7676
}
7777
catch (Exception)
Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
1-
namespace SQLite.CodeFirst
1+
using System.Data.Entity;
2+
using System.Data.Entity.Infrastructure;
3+
4+
namespace SQLite.CodeFirst
25
{
36
public interface IDatabaseCreator
47
{
5-
void Create();
8+
void Create(Database db, DbModel model);
69
}
710
}
Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
1-
namespace SQLite.CodeFirst
1+
using System.Data.Entity.Core.Metadata.Edm;
2+
3+
namespace SQLite.CodeFirst
24
{
35
public interface ISqlGenerator
46
{
5-
string Generate();
7+
string Generate(EdmModel storeModel);
68
}
79
}

SQLite.CodeFirst/SqliteDatabaseCreator.cs

Lines changed: 3 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -9,27 +9,13 @@ namespace SQLite.CodeFirst
99
/// </summary>
1010
public class SqliteDatabaseCreator : IDatabaseCreator
1111
{
12-
private readonly Database db;
13-
private readonly DbModel model;
14-
15-
/// <summary>
16-
/// Initializes a new instance of the <see cref="SqliteDatabaseCreator"/> class.
17-
/// </summary>
18-
/// <param name="db">The database.</param>
19-
/// <param name="model">The model.</param>
20-
public SqliteDatabaseCreator(Database db, DbModel model)
21-
{
22-
this.db = db;
23-
this.model = model;
24-
}
25-
2612
/// <summary>
2713
/// Creates the SQLite-Database.
2814
/// </summary>
29-
public void Create()
15+
public void Create(Database db, DbModel model)
3016
{
31-
var sqliteSqlGenerator = new SqliteSqlGenerator(model.StoreModel);
32-
string sql = sqliteSqlGenerator.Generate();
17+
var sqliteSqlGenerator = new SqliteSqlGenerator();
18+
string sql = sqliteSqlGenerator.Generate(model.StoreModel);
3319
db.ExecuteSqlCommand(TransactionalBehavior.EnsureTransaction, sql);
3420
}
3521
}

SQLite.CodeFirst/SqliteSqlGenerator.cs

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,17 +9,10 @@ namespace SQLite.CodeFirst
99
/// </summary>
1010
public class SqliteSqlGenerator : ISqlGenerator
1111
{
12-
private readonly EdmModel storeModel;
13-
14-
public SqliteSqlGenerator(EdmModel storeModel)
15-
{
16-
this.storeModel = storeModel;
17-
}
18-
1912
/// <summary>
2013
/// Generates the SQL statement, based on the <see cref="EdmModel"/>.
2114
/// </summary>
22-
public string Generate()
15+
public string Generate(EdmModel storeModel)
2316
{
2417
IStatementBuilder<CreateDatabaseStatement> statementBuilder = new CreateDatabaseStatementBuilder(storeModel);
2518
IStatement statement = statementBuilder.BuildStatement();

0 commit comments

Comments
 (0)