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

Commit e8654d1

Browse files
committed
Change DialectProviders to use new ToDbConnection() and ToDbCommand() to get underlying ADO.NET interfaces
1 parent 0f5e809 commit e8654d1

File tree

4 files changed

+27
-36
lines changed

4 files changed

+27
-36
lines changed

src/ServiceStack.OrmLite.MySql/MySqlDialectProvider.cs

Lines changed: 2 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -228,28 +228,12 @@ public string GetColumnDefinition(FieldDefinition fieldDefinition)
228228

229229
protected MySqlConnection Unwrap(IDbConnection db)
230230
{
231-
var dbAsync = db as MySqlConnection;
232-
if (dbAsync != null)
233-
return dbAsync;
234-
235-
var hasDb = db as IHasDbConnection;
236-
if (hasDb != null)
237-
return (MySqlConnection)hasDb.DbConnection;
238-
239-
throw new ArgumentException("{0} is not a MySqlConnection".Fmt(db.GetType().Name));
231+
return (MySqlConnection)db.ToDbConnection();
240232
}
241233

242234
protected MySqlCommand Unwrap(IDbCommand cmd)
243235
{
244-
var cmdAsync = cmd as MySqlCommand;
245-
if (cmdAsync != null)
246-
return cmdAsync;
247-
248-
var hasDb = cmd as IHasDbCommand;
249-
if (hasDb != null)
250-
return (MySqlCommand)hasDb.DbCommand;
251-
252-
throw new ArgumentException("{0} is not an MySqlCommand".Fmt(cmd.GetType().Name));
236+
return (MySqlCommand)cmd.ToDbCommand();
253237
}
254238

255239
protected MySqlDataReader Unwrap(IDataReader reader)

src/ServiceStack.OrmLite.SqlServer/SqlServerOrmLiteDialectProvider.cs

Lines changed: 2 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -463,28 +463,12 @@ public static string UseAliasesOrStripTablePrefixes(string selectExpression)
463463

464464
protected SqlConnection Unwrap(IDbConnection db)
465465
{
466-
var dbAsync = db as SqlConnection;
467-
if (dbAsync != null)
468-
return dbAsync;
469-
470-
var hasDb = db as IHasDbConnection;
471-
if (hasDb != null)
472-
return (SqlConnection)hasDb.DbConnection;
473-
474-
throw new ArgumentException("{0} is not an SqlConnection".Fmt(db.GetType().Name));
466+
return (SqlConnection)db.ToDbConnection();
475467
}
476468

477469
protected SqlCommand Unwrap(IDbCommand cmd)
478470
{
479-
var cmdAsync = cmd as SqlCommand;
480-
if (cmdAsync != null)
481-
return cmdAsync;
482-
483-
var hasDb = cmd as IHasDbCommand;
484-
if (hasDb != null)
485-
return (SqlCommand)hasDb.DbCommand;
486-
487-
throw new ArgumentException("{0} is not an SqlCommand".Fmt(cmd.GetType().Name));
471+
return (SqlCommand) cmd.ToDbCommand();
488472
}
489473

490474
protected SqlDataReader Unwrap(IDataReader reader)

src/ServiceStack.OrmLite/OrmLiteConnectionFactory.cs

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -149,5 +149,21 @@ public static IDbConnection OpenDbConnection(this IDbConnectionFactory connectio
149149
{
150150
return ((OrmLiteConnectionFactory)connectionFactory).OpenDbConnection(namedConnection);
151151
}
152+
153+
public static IDbConnection ToDbConnection(this IDbConnection db)
154+
{
155+
var hasDb = db as IHasDbConnection;
156+
return hasDb != null
157+
? hasDb.DbConnection
158+
: db;
159+
}
160+
161+
public static IDbCommand ToDbCommand(this IDbCommand dbCmd)
162+
{
163+
var hasDbCmd = dbCmd as IHasDbCommand;
164+
return hasDbCmd != null
165+
? hasDbCmd.DbCommand
166+
: dbCmd;
167+
}
152168
}
153169
}
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
<?xml version="1.0" encoding="utf-8" ?>
2+
<configuration>
3+
<appSettings>
4+
<add key="servicestack:license" value="1001-e1JlZjoxMDAxLE5hbWU6VGVzdCBCdXNpbmVzcyxUeXBlOkJ1c2luZXNzLEhhc2g6UHVNTVRPclhvT2ZIbjQ5MG5LZE1mUTd5RUMzQnBucTFEbTE3TDczVEF4QUNMT1FhNXJMOWkzVjFGL2ZkVTE3Q2pDNENqTkQyUktRWmhvUVBhYTBiekJGUUZ3ZE5aZHFDYm9hL3lydGlwUHI5K1JsaTBYbzNsUC85cjVJNHE5QVhldDN6QkE4aTlvdldrdTgyTk1relY2eis2dFFqTThYN2lmc0JveHgycFdjPSxFeHBpcnk6MjAxMy0wMS0wMX0="/>
5+
<add key="ClientSettingsProvider.ServiceUri" value=""/>
6+
</appSettings>
7+
</configuration>

0 commit comments

Comments
 (0)