Skip to content
This repository was archived by the owner on Dec 24, 2022. It is now read-only.

Commit 93b52b3

Browse files
committed
Re-factor parameterized methods on IOrmLiteDialectProvider to make them fewer and more consistent
1 parent 892245d commit 93b52b3

File tree

8 files changed

+289
-308
lines changed

8 files changed

+289
-308
lines changed

src/ServiceStack.OrmLite.Firebird/FirebirdOrmLiteDialectProvider.cs

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -162,9 +162,12 @@ public override string ToSelectStatement(Type tableType, string sqlFilter, para
162162
return sql.ToString();
163163
}
164164

165-
public override string ToInsertRowStatement(object objWithProperties, IList<string> insertFields, IDbCommand dbCommand)
165+
public override string ToInsertRowStatement(IDbCommand dbCommand, object objWithProperties, ICollection<string> insertFields = null)
166166
{
167-
var sbColumnNames = new StringBuilder();
167+
if (insertFields == null)
168+
insertFields = new List<string>();
169+
170+
var sbColumnNames = new StringBuilder();
168171
var sbColumnValues = new StringBuilder();
169172

170173
var tableType = objWithProperties.GetType();
@@ -230,7 +233,7 @@ public override string ToInsertRowStatement(object objWithProperties, IList<stri
230233
}
231234

232235

233-
public override string ToUpdateRowStatement(object objWithProperties, IList<string> updateFields)
236+
public override string ToUpdateRowStatement(object objWithProperties, ICollection<string> updateFields)
234237
{
235238
var sqlFilter = new StringBuilder();
236239
var sql = new StringBuilder();

src/ServiceStack.OrmLite.Oracle/OracleOrmLiteDialectProvider.cs

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -168,14 +168,11 @@ public override string ToSelectStatement(Type tableType, string sqlFilter, para
168168
return sql.ToString();
169169
}
170170

171-
public override IDbCommand CreateParameterizedInsertStatement(object objWithProperties, IDbConnection connection)
171+
public override IDbCommand CreateParameterizedInsertStatement(IDbConnection connection, object objWithProperties, ICollection<string> insertFields = null)
172172
{
173-
return CreateParameterizedInsertStatement(objWithProperties, null, connection);
174-
}
173+
if (insertFields == null)
174+
insertFields = new List<string>();
175175

176-
public override IDbCommand CreateParameterizedInsertStatement(object objWithProperties, IList<string> insertFields, IDbConnection connection)
177-
{
178-
if (insertFields == null) insertFields = new List<string>();
179176
var sbColumnNames = new StringBuilder();
180177
var sbColumnValues = new StringBuilder();
181178
var modelDef = GetModel(objWithProperties.GetType());
@@ -243,8 +240,11 @@ public override IDbCommand CreateParameterizedInsertStatement(object objWithProp
243240
return dbCommand;
244241
}
245242

246-
public override string ToInsertRowStatement(object objWithProperties, IList<string> insertFields, IDbCommand dbCommand)
243+
public override string ToInsertRowStatement(IDbCommand dbCommand, object objWithProperties, ICollection<string> insertFields = null)
247244
{
245+
if (insertFields == null)
246+
insertFields = new List<string>();
247+
248248
var sbColumnNames = new StringBuilder();
249249
var sbColumnValues = new StringBuilder();
250250

@@ -311,7 +311,7 @@ public override string ToInsertRowStatement(object objWithProperties, IList<stri
311311
}
312312

313313

314-
public override string ToUpdateRowStatement(object objWithProperties, IList<string> updateFields)
314+
public override string ToUpdateRowStatement(object objWithProperties, ICollection<string> updateFields)
315315
{
316316
var sqlFilter = new StringBuilder();
317317
var sql = new StringBuilder();

src/ServiceStack.OrmLite/Expressions/WriteExtensions.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -194,7 +194,7 @@ public static void InsertOnly<T>(this IDbCommand dbCmd, T obj, Func<SqlExpressio
194194
/// </summary>
195195
public static void InsertOnly<T>(this IDbCommand dbCmd, T obj, SqlExpressionVisitor<T> onlyFields)
196196
{
197-
var sql = OrmLiteConfig.DialectProvider.ToInsertRowStatement(obj, onlyFields.InsertFields, dbCmd);
197+
var sql = OrmLiteConfig.DialectProvider.ToInsertRowStatement(dbCmd, obj, onlyFields.InsertFields);
198198
dbCmd.ExecuteSql(sql);
199199
}
200200

src/ServiceStack.OrmLite/IOrmLiteDialectProvider.cs

Lines changed: 6 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -55,30 +55,22 @@ string GetColumnDefinition(
5555

5656
long GetLastInsertId(IDbCommand command);
5757

58-
//
59-
6058
string ToSelectStatement(Type tableType, string sqlFilter, params object[] filterParams);
6159

62-
string ToInsertRowStatement(object objWithProperties, IDbCommand command);
63-
string ToInsertRowStatement(object objWithProperties, IList<string> InsertFields, IDbCommand command);
60+
string ToInsertRowStatement(IDbCommand command, object objWithProperties, ICollection<string> InsertFields = null);
6461

65-
IDbCommand CreateParameterizedInsertStatement(object objWithProperties, IDbConnection connection);
66-
IDbCommand CreateParameterizedInsertStatement(object objWithProperties, IList<string> insertFields,
67-
IDbConnection connection);
62+
IDbCommand CreateParameterizedInsertStatement(IDbConnection connection, object objWithProperties, ICollection<string> insertFields = null);
6863

69-
void ReParameterizeInsertStatement(object objWithProperties, IDbCommand command);
70-
void ReParameterizeInsertStatement(object objWithProperties, IList<string> insertFields, IDbCommand command);
64+
void ReParameterizeInsertStatement(IDbCommand command, object objWithProperties, ICollection<string> insertFields = null);
7165

72-
string ToUpdateRowStatement(object objWithProperties);
73-
string ToUpdateRowStatement(object objWithProperties, IList<string> UpdateFields);
66+
string ToUpdateRowStatement(object objWithProperties, ICollection<string> UpdateFields = null);
7467

75-
IDbCommand CreateParameterizedUpdateStatement(object objWithProperties, IDbConnection connection);
76-
IDbCommand CreateParameterizedUpdateStatement(object objWithProperties, IList<string> updateFields, IDbConnection connection);
68+
IDbCommand CreateParameterizedUpdateStatement(IDbConnection connection, object objWithProperties, ICollection<string> updateFields = null);
7769

7870
string ToDeleteRowStatement(object objWithProperties);
7971
string ToDeleteStatement(Type tableType, string sqlFilter, params object[] filterParams);
8072

81-
IDbCommand CreateParameterizedDeleteStatement(object objWithProperties, IDbConnection connection);
73+
IDbCommand CreateParameterizedDeleteStatement(IDbConnection connection, object objWithProperties);
8274

8375
string ToExistStatement(Type fromTableType,
8476
object objWithProperties,

src/ServiceStack.OrmLite/OrmLiteDialectProviderBase.cs

Lines changed: 17 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -467,15 +467,11 @@ public virtual string ToSelectStatement(Type tableType, string sqlFilter, params
467467
return sql.ToString();
468468
}
469469

470-
public virtual string ToInsertRowStatement(object objWithProperties, IDbCommand command)
471-
{
472-
return ToInsertRowStatement(objWithProperties, new List<string>(), command);
473-
}
474-
475-
public virtual string ToInsertRowStatement(object objWithProperties, IList<string> insertFields, IDbCommand command)
470+
public virtual string ToInsertRowStatement(IDbCommand command, object objWithProperties, ICollection<string> insertFields = null)
476471
{
472+
if (insertFields == null)
473+
insertFields = new List<string>();
477474

478-
if (insertFields == null) insertFields = new List<string>();
479475
var sbColumnNames = new StringBuilder();
480476
var sbColumnValues = new StringBuilder();
481477
var modelDef = objWithProperties.GetType().GetModelDefinition();
@@ -508,14 +504,11 @@ public virtual string ToInsertRowStatement(object objWithProperties, IList<strin
508504
return sql;
509505
}
510506

511-
public virtual IDbCommand CreateParameterizedInsertStatement(object objWithProperties, IDbConnection connection)
507+
public virtual IDbCommand CreateParameterizedInsertStatement(IDbConnection connection, object objWithProperties, ICollection<string> insertFields = null)
512508
{
513-
return CreateParameterizedInsertStatement(objWithProperties, null, connection);
514-
}
509+
if (insertFields == null)
510+
insertFields = new List<string>();
515511

516-
public virtual IDbCommand CreateParameterizedInsertStatement(object objWithProperties, IList<string> insertFields, IDbConnection connection)
517-
{
518-
if (insertFields == null) insertFields = new List<string>();
519512
var sbColumnNames = new StringBuilder();
520513
var sbColumnValues = new StringBuilder();
521514
var modelDef = objWithProperties.GetType().GetModelDefinition();
@@ -554,16 +547,13 @@ public virtual IDbCommand CreateParameterizedInsertStatement(object objWithPrope
554547
return command;
555548
}
556549

557-
public void ReParameterizeInsertStatement(object objWithProperties, IDbCommand command)
550+
public void ReParameterizeInsertStatement(IDbCommand command, object objWithProperties, ICollection<string> insertFields = null)
558551
{
559-
ReParameterizeInsertStatement(objWithProperties, null, command);
560-
}
552+
if (insertFields == null)
553+
insertFields = new List<string>();
561554

562-
public void ReParameterizeInsertStatement(object objWithProperties, IList<string> insertFields, IDbCommand command)
563-
{
564-
if (insertFields == null) insertFields = new List<string>();
565555
var modelDef = objWithProperties.GetType().GetModelDefinition();
566-
556+
567557
command.Parameters.Clear();
568558

569559
foreach (var fieldDef in modelDef.FieldDefinitions)
@@ -617,14 +607,11 @@ private object GetValueOrDbNull(String value)
617607
return value;
618608
}
619609

620-
public virtual string ToUpdateRowStatement(object objWithProperties)
610+
public virtual string ToUpdateRowStatement(object objWithProperties, ICollection<string> updateFields = null)
621611
{
622-
return ToUpdateRowStatement(objWithProperties, new List<string>());
623-
}
612+
if (updateFields == null)
613+
updateFields = new List<string>();
624614

625-
public virtual string ToUpdateRowStatement(object objWithProperties, IList<string> updateFields)
626-
{
627-
if (updateFields == null) updateFields = new List<string>();
628615
var sqlFilter = new StringBuilder();
629616
var sql = new StringBuilder();
630617
var modelDef = objWithProperties.GetType().GetModelDefinition();
@@ -663,14 +650,11 @@ public virtual string ToUpdateRowStatement(object objWithProperties, IList<strin
663650
return updateSql;
664651
}
665652

666-
public virtual IDbCommand CreateParameterizedUpdateStatement(object objWithProperties, IDbConnection connection)
653+
public virtual IDbCommand CreateParameterizedUpdateStatement(IDbConnection connection, object objWithProperties, ICollection<string> updateFields = null)
667654
{
668-
return CreateParameterizedUpdateStatement(objWithProperties, null, connection);
669-
}
655+
if (updateFields == null)
656+
updateFields = new List<string>();
670657

671-
public virtual IDbCommand CreateParameterizedUpdateStatement(object objWithProperties, IList<string> updateFields, IDbConnection connection)
672-
{
673-
if (updateFields == null) updateFields = new List<string>();
674658
var sqlFilter = new StringBuilder();
675659
var sql = new StringBuilder();
676660
var modelDef = objWithProperties.GetType().GetModelDefinition();
@@ -952,7 +936,7 @@ public virtual SqlExpressionVisitor<T> ExpressionVisitor<T>()
952936
throw new NotImplementedException();
953937
}
954938

955-
public IDbCommand CreateParameterizedDeleteStatement(object objWithProperties, IDbConnection connection)
939+
public IDbCommand CreateParameterizedDeleteStatement(IDbConnection connection, object objWithProperties)
956940
{
957941
throw new NotImplementedException();
958942
}

0 commit comments

Comments
 (0)