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

Commit a3e2379

Browse files
committed
Add InTransaction() and GetTransaction() ext methods
1 parent 7bdf452 commit a3e2379

File tree

2 files changed

+11
-4
lines changed

2 files changed

+11
-4
lines changed

src/ServiceStack.OrmLite/OrmLiteConnection.cs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -132,4 +132,13 @@ internal interface ISetDbTransaction
132132
{
133133
IDbTransaction Transaction { get; set; }
134134
}
135+
136+
public static class OrmLiteConnectionUtils
137+
{
138+
public static bool InTransaction(this IDbConnection db) =>
139+
db is IHasDbTransaction setDb && setDb.DbTransaction != null;
140+
141+
public static IDbTransaction GetTransaction(this IDbConnection db) =>
142+
db is IHasDbTransaction setDb ? setDb.DbTransaction : null;
143+
}
135144
}

src/ServiceStack.OrmLite/OrmLiteTransaction.cs

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,7 @@ public OrmLiteTransaction(IDbConnection db, IDbTransaction transaction)
1717
this.Transaction = transaction;
1818

1919
//If OrmLite managed connection assign to connection, otherwise use OrmLiteContext
20-
var ormLiteConn = this.db as ISetDbTransaction;
21-
if (ormLiteConn != null)
20+
if (this.db is ISetDbTransaction ormLiteConn)
2221
{
2322
ormLiteConn.Transaction = this.Transaction = transaction;
2423
}
@@ -36,8 +35,7 @@ public void Dispose()
3635
}
3736
finally
3837
{
39-
var ormLiteConn = this.db as ISetDbTransaction;
40-
if (ormLiteConn != null)
38+
if (this.db is ISetDbTransaction ormLiteConn)
4139
{
4240
ormLiteConn.Transaction = null;
4341
}

0 commit comments

Comments
 (0)