mirror of
https://github.com/nsnail/FreeSql.git
synced 2025-04-22 18:52:50 +08:00
- 优化 移除 fsql.Transaction 线程事务超时机制;#323
This commit is contained in:
parent
ce3bd7da1d
commit
b3352faef5
@ -30,8 +30,7 @@ namespace FreeSql
|
|||||||
public void Dispose() { }
|
public void Dispose() { }
|
||||||
|
|
||||||
public void Transaction(Action handler) => _originalFsql.Transaction(handler);
|
public void Transaction(Action handler) => _originalFsql.Transaction(handler);
|
||||||
public void Transaction(TimeSpan timeout, Action handler) => _originalFsql.Transaction(timeout, handler);
|
public void Transaction(IsolationLevel isolationLevel, Action handler) => _originalFsql.Transaction(isolationLevel, handler);
|
||||||
public void Transaction(IsolationLevel isolationLevel, TimeSpan timeout, Action handler) => _originalFsql.Transaction(isolationLevel, timeout, handler);
|
|
||||||
|
|
||||||
public ISelect<T1> Select<T1>() where T1 : class
|
public ISelect<T1> Select<T1>() where T1 : class
|
||||||
{
|
{
|
||||||
|
@ -2257,25 +2257,17 @@
|
|||||||
</summary>
|
</summary>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:FreeSql.IAdo.Transaction(System.Action)">
|
<member name="M:FreeSql.IAdo.Transaction(System.Action)">
|
||||||
<summary>
|
|
||||||
开启事务(不支持异步),60秒未执行完成(可能)被其他线程事务自动提交
|
|
||||||
</summary>
|
|
||||||
<param name="handler">事务体 () => {}</param>
|
|
||||||
</member>
|
|
||||||
<member name="M:FreeSql.IAdo.Transaction(System.TimeSpan,System.Action)">
|
|
||||||
<summary>
|
<summary>
|
||||||
开启事务(不支持异步)
|
开启事务(不支持异步)
|
||||||
</summary>
|
</summary>
|
||||||
<param name="timeout">超时,未执行完成(可能)被其他线程事务自动提交</param>
|
|
||||||
<param name="handler">事务体 () => {}</param>
|
<param name="handler">事务体 () => {}</param>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:FreeSql.IAdo.Transaction(System.Data.IsolationLevel,System.TimeSpan,System.Action)">
|
<member name="M:FreeSql.IAdo.Transaction(System.Data.IsolationLevel,System.Action)">
|
||||||
<summary>
|
<summary>
|
||||||
开启事务(不支持异步)
|
开启事务(不支持异步)
|
||||||
</summary>
|
</summary>
|
||||||
<param name="isolationLevel"></param>
|
<param name="isolationLevel"></param>
|
||||||
<param name="handler">事务体 () => {}</param>
|
<param name="handler">事务体 () => {}</param>
|
||||||
<param name="timeout">超时,未执行完成(可能)被其他线程事务自动提交</param>
|
|
||||||
</member>
|
</member>
|
||||||
<member name="P:FreeSql.IAdo.TransactionCurrentThread">
|
<member name="P:FreeSql.IAdo.TransactionCurrentThread">
|
||||||
<summary>
|
<summary>
|
||||||
@ -3829,24 +3821,18 @@
|
|||||||
</member>
|
</member>
|
||||||
<member name="M:IFreeSql.Transaction(System.Action)">
|
<member name="M:IFreeSql.Transaction(System.Action)">
|
||||||
<summary>
|
<summary>
|
||||||
开启事务(不支持异步),60秒未执行完成(可能)被其他线程事务自动提交
|
开启事务(不支持异步)<para></para>
|
||||||
|
v1.5.0 关闭了线程事务超时自动提交的机制
|
||||||
</summary>
|
</summary>
|
||||||
<param name="handler">事务体 () => {}</param>
|
<param name="handler">事务体 () => {}</param>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:IFreeSql.Transaction(System.TimeSpan,System.Action)">
|
<member name="M:IFreeSql.Transaction(System.Data.IsolationLevel,System.Action)">
|
||||||
<summary>
|
<summary>
|
||||||
开启事务(不支持异步)
|
开启事务(不支持异步)<para></para>
|
||||||
</summary>
|
v1.5.0 关闭了线程事务超时自动提交的机制
|
||||||
<param name="timeout">超时,未执行完成(可能)被其他线程事务自动提交</param>
|
|
||||||
<param name="handler">事务体 () => {}</param>
|
|
||||||
</member>
|
|
||||||
<member name="M:IFreeSql.Transaction(System.Data.IsolationLevel,System.TimeSpan,System.Action)">
|
|
||||||
<summary>
|
|
||||||
开启事务(不支持异步)
|
|
||||||
</summary>
|
</summary>
|
||||||
<param name="isolationLevel"></param>
|
<param name="isolationLevel"></param>
|
||||||
<param name="handler">事务体 () => {}</param>
|
<param name="handler">事务体 () => {}</param>
|
||||||
<param name="timeout">超时,未执行完成(可能)被其他线程事务自动提交</param>
|
|
||||||
</member>
|
</member>
|
||||||
<member name="P:IFreeSql.Ado">
|
<member name="P:IFreeSql.Ado">
|
||||||
<summary>
|
<summary>
|
||||||
|
@ -39,23 +39,16 @@ namespace FreeSql
|
|||||||
|
|
||||||
#region 事务
|
#region 事务
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 开启事务(不支持异步),60秒未执行完成(可能)被其他线程事务自动提交
|
/// 开启事务(不支持异步)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="handler">事务体 () => {}</param>
|
/// <param name="handler">事务体 () => {}</param>
|
||||||
void Transaction(Action handler);
|
void Transaction(Action handler);
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 开启事务(不支持异步)
|
/// 开启事务(不支持异步)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="timeout">超时,未执行完成(可能)被其他线程事务自动提交</param>
|
|
||||||
/// <param name="handler">事务体 () => {}</param>
|
|
||||||
void Transaction(TimeSpan timeout, Action handler);
|
|
||||||
/// <summary>
|
|
||||||
/// 开启事务(不支持异步)
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="isolationLevel"></param>
|
/// <param name="isolationLevel"></param>
|
||||||
/// <param name="handler">事务体 () => {}</param>
|
/// <param name="handler">事务体 () => {}</param>
|
||||||
/// <param name="timeout">超时,未执行完成(可能)被其他线程事务自动提交</param>
|
void Transaction(IsolationLevel isolationLevel, Action handler);
|
||||||
void Transaction(IsolationLevel isolationLevel, TimeSpan timeout, Action handler);
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 当前线程的事务
|
/// 当前线程的事务
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
@ -101,23 +101,18 @@ public interface IFreeSql : IDisposable
|
|||||||
IDelete<T1> Delete<T1>(object dywhere) where T1 : class;
|
IDelete<T1> Delete<T1>(object dywhere) where T1 : class;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 开启事务(不支持异步),60秒未执行完成(可能)被其他线程事务自动提交
|
/// 开启事务(不支持异步)<para></para>
|
||||||
|
/// v1.5.0 关闭了线程事务超时自动提交的机制
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="handler">事务体 () => {}</param>
|
/// <param name="handler">事务体 () => {}</param>
|
||||||
void Transaction(Action handler);
|
void Transaction(Action handler);
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 开启事务(不支持异步)
|
/// 开启事务(不支持异步)<para></para>
|
||||||
/// </summary>
|
/// v1.5.0 关闭了线程事务超时自动提交的机制
|
||||||
/// <param name="timeout">超时,未执行完成(可能)被其他线程事务自动提交</param>
|
|
||||||
/// <param name="handler">事务体 () => {}</param>
|
|
||||||
void Transaction(TimeSpan timeout, Action handler);
|
|
||||||
/// <summary>
|
|
||||||
/// 开启事务(不支持异步)
|
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="isolationLevel"></param>
|
/// <param name="isolationLevel"></param>
|
||||||
/// <param name="handler">事务体 () => {}</param>
|
/// <param name="handler">事务体 () => {}</param>
|
||||||
/// <param name="timeout">超时,未执行完成(可能)被其他线程事务自动提交</param>
|
void Transaction(IsolationLevel isolationLevel, Action handler);
|
||||||
void Transaction(IsolationLevel isolationLevel, TimeSpan timeout, Action handler);
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 数据库访问对象
|
/// 数据库访问对象
|
||||||
|
@ -35,7 +35,7 @@ namespace FreeSql.Internal.CommonProvider
|
|||||||
public DbTransaction TransactionCurrentThread => _trans.TryGetValue(Thread.CurrentThread.ManagedThreadId, out var conn) && conn.Transaction?.Connection != null ? conn.Transaction : null;
|
public DbTransaction TransactionCurrentThread => _trans.TryGetValue(Thread.CurrentThread.ManagedThreadId, out var conn) && conn.Transaction?.Connection != null ? conn.Transaction : null;
|
||||||
public Aop.TraceBeforeEventArgs TransactionCurrentThreadAopBefore => _trans.TryGetValue(Thread.CurrentThread.ManagedThreadId, out var conn) && conn.Transaction?.Connection != null ? conn.AopBefore : null;
|
public Aop.TraceBeforeEventArgs TransactionCurrentThreadAopBefore => _trans.TryGetValue(Thread.CurrentThread.ManagedThreadId, out var conn) && conn.Transaction?.Connection != null ? conn.AopBefore : null;
|
||||||
|
|
||||||
public void BeginTransaction(TimeSpan timeout, IsolationLevel? isolationLevel)
|
public void BeginTransaction(IsolationLevel? isolationLevel)
|
||||||
{
|
{
|
||||||
if (TransactionCurrentThread != null) return;
|
if (TransactionCurrentThread != null) return;
|
||||||
|
|
||||||
@ -48,7 +48,7 @@ namespace FreeSql.Internal.CommonProvider
|
|||||||
try
|
try
|
||||||
{
|
{
|
||||||
conn = MasterPool.Get();
|
conn = MasterPool.Get();
|
||||||
tran = new Transaction2(conn, isolationLevel == null ? conn.Value.BeginTransaction() : conn.Value.BeginTransaction(isolationLevel.Value), timeout);
|
tran = new Transaction2(conn, isolationLevel == null ? conn.Value.BeginTransaction() : conn.Value.BeginTransaction(isolationLevel.Value), TimeSpan.FromSeconds(60));
|
||||||
tran.AopBefore = before;
|
tran.AopBefore = before;
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
@ -107,15 +107,14 @@ namespace FreeSql.Internal.CommonProvider
|
|||||||
if (_trans.TryGetValue(Thread.CurrentThread.ManagedThreadId, out var tran)) CommitTransaction(false, tran, ex);
|
if (_trans.TryGetValue(Thread.CurrentThread.ManagedThreadId, out var tran)) CommitTransaction(false, tran, ex);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Transaction(Action handler) => TransactionInternal(null, TimeSpan.FromSeconds(60), handler);
|
public void Transaction(Action handler) => TransactionInternal(null, handler);
|
||||||
public void Transaction(TimeSpan timeout, Action handler) => TransactionInternal(null, timeout, handler);
|
public void Transaction(IsolationLevel isolationLevel, Action handler) => TransactionInternal(isolationLevel, handler);
|
||||||
public void Transaction(IsolationLevel isolationLevel, TimeSpan timeout, Action handler) => TransactionInternal(isolationLevel, timeout, handler);
|
|
||||||
|
|
||||||
void TransactionInternal(IsolationLevel? isolationLevel, TimeSpan timeout, Action handler)
|
void TransactionInternal(IsolationLevel? isolationLevel, Action handler)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
BeginTransaction(timeout, isolationLevel);
|
BeginTransaction(isolationLevel);
|
||||||
handler();
|
handler();
|
||||||
CommitTransaction();
|
CommitTransaction();
|
||||||
}
|
}
|
||||||
|
@ -46,8 +46,7 @@ namespace FreeSql.Dameng
|
|||||||
internal CommonExpression InternalCommonExpression { get; }
|
internal CommonExpression InternalCommonExpression { get; }
|
||||||
|
|
||||||
public void Transaction(Action handler) => Ado.Transaction(handler);
|
public void Transaction(Action handler) => Ado.Transaction(handler);
|
||||||
public void Transaction(TimeSpan timeout, Action handler) => Ado.Transaction(timeout, handler);
|
public void Transaction(IsolationLevel isolationLevel, Action handler) => Ado.Transaction(isolationLevel, handler);
|
||||||
public void Transaction(IsolationLevel isolationLevel, TimeSpan timeout, Action handler) => Ado.Transaction(isolationLevel, timeout, handler);
|
|
||||||
|
|
||||||
public GlobalFilter GlobalFilter { get; } = new GlobalFilter();
|
public GlobalFilter GlobalFilter { get; } = new GlobalFilter();
|
||||||
|
|
||||||
|
@ -45,8 +45,7 @@ namespace FreeSql.MsAccess
|
|||||||
internal CommonExpression InternalCommonExpression { get; }
|
internal CommonExpression InternalCommonExpression { get; }
|
||||||
|
|
||||||
public void Transaction(Action handler) => Ado.Transaction(handler);
|
public void Transaction(Action handler) => Ado.Transaction(handler);
|
||||||
public void Transaction(TimeSpan timeout, Action handler) => Ado.Transaction(timeout, handler);
|
public void Transaction(IsolationLevel isolationLevel, Action handler) => Ado.Transaction(isolationLevel, handler);
|
||||||
public void Transaction(IsolationLevel isolationLevel, TimeSpan timeout, Action handler) => Ado.Transaction(isolationLevel, timeout, handler);
|
|
||||||
|
|
||||||
public GlobalFilter GlobalFilter { get; } = new GlobalFilter();
|
public GlobalFilter GlobalFilter { get; } = new GlobalFilter();
|
||||||
|
|
||||||
|
@ -72,8 +72,7 @@ namespace FreeSql.MySql
|
|||||||
internal CommonExpression InternalCommonExpression { get; }
|
internal CommonExpression InternalCommonExpression { get; }
|
||||||
|
|
||||||
public void Transaction(Action handler) => Ado.Transaction(handler);
|
public void Transaction(Action handler) => Ado.Transaction(handler);
|
||||||
public void Transaction(TimeSpan timeout, Action handler) => Ado.Transaction(timeout, handler);
|
public void Transaction(IsolationLevel isolationLevel, Action handler) => Ado.Transaction(isolationLevel, handler);
|
||||||
public void Transaction(IsolationLevel isolationLevel, TimeSpan timeout, Action handler) => Ado.Transaction(isolationLevel, timeout, handler);
|
|
||||||
|
|
||||||
public GlobalFilter GlobalFilter { get; } = new GlobalFilter();
|
public GlobalFilter GlobalFilter { get; } = new GlobalFilter();
|
||||||
|
|
||||||
|
@ -45,8 +45,7 @@ namespace FreeSql.Odbc.Dameng
|
|||||||
internal CommonExpression InternalCommonExpression { get; }
|
internal CommonExpression InternalCommonExpression { get; }
|
||||||
|
|
||||||
public void Transaction(Action handler) => Ado.Transaction(handler);
|
public void Transaction(Action handler) => Ado.Transaction(handler);
|
||||||
public void Transaction(TimeSpan timeout, Action handler) => Ado.Transaction(timeout, handler);
|
public void Transaction(IsolationLevel isolationLevel, Action handler) => Ado.Transaction(isolationLevel, handler);
|
||||||
public void Transaction(IsolationLevel isolationLevel, TimeSpan timeout, Action handler) => Ado.Transaction(isolationLevel, timeout, handler);
|
|
||||||
|
|
||||||
public GlobalFilter GlobalFilter { get; } = new GlobalFilter();
|
public GlobalFilter GlobalFilter { get; } = new GlobalFilter();
|
||||||
|
|
||||||
|
@ -86,8 +86,7 @@ namespace FreeSql.Odbc.Default
|
|||||||
internal CommonExpression InternalCommonExpression { get; }
|
internal CommonExpression InternalCommonExpression { get; }
|
||||||
|
|
||||||
public void Transaction(Action handler) => Ado.Transaction(handler);
|
public void Transaction(Action handler) => Ado.Transaction(handler);
|
||||||
public void Transaction(TimeSpan timeout, Action handler) => Ado.Transaction(timeout, handler);
|
public void Transaction(IsolationLevel isolationLevel, Action handler) => Ado.Transaction(isolationLevel, handler);
|
||||||
public void Transaction(IsolationLevel isolationLevel, TimeSpan timeout, Action handler) => Ado.Transaction(isolationLevel, timeout, handler);
|
|
||||||
|
|
||||||
public GlobalFilter GlobalFilter { get; } = new GlobalFilter();
|
public GlobalFilter GlobalFilter { get; } = new GlobalFilter();
|
||||||
|
|
||||||
|
@ -50,8 +50,7 @@ namespace FreeSql.Odbc.MySql
|
|||||||
internal CommonExpression InternalCommonExpression { get; }
|
internal CommonExpression InternalCommonExpression { get; }
|
||||||
|
|
||||||
public void Transaction(Action handler) => Ado.Transaction(handler);
|
public void Transaction(Action handler) => Ado.Transaction(handler);
|
||||||
public void Transaction(TimeSpan timeout, Action handler) => Ado.Transaction(timeout, handler);
|
public void Transaction(IsolationLevel isolationLevel, Action handler) => Ado.Transaction(isolationLevel, handler);
|
||||||
public void Transaction(IsolationLevel isolationLevel, TimeSpan timeout, Action handler) => Ado.Transaction(isolationLevel, timeout, handler);
|
|
||||||
|
|
||||||
public GlobalFilter GlobalFilter { get; } = new GlobalFilter();
|
public GlobalFilter GlobalFilter { get; } = new GlobalFilter();
|
||||||
|
|
||||||
|
@ -51,8 +51,7 @@ namespace FreeSql.Odbc.Oracle
|
|||||||
internal CommonExpression InternalCommonExpression { get; }
|
internal CommonExpression InternalCommonExpression { get; }
|
||||||
|
|
||||||
public void Transaction(Action handler) => Ado.Transaction(handler);
|
public void Transaction(Action handler) => Ado.Transaction(handler);
|
||||||
public void Transaction(TimeSpan timeout, Action handler) => Ado.Transaction(timeout, handler);
|
public void Transaction(IsolationLevel isolationLevel, Action handler) => Ado.Transaction(isolationLevel, handler);
|
||||||
public void Transaction(IsolationLevel isolationLevel, TimeSpan timeout, Action handler) => Ado.Transaction(isolationLevel, timeout, handler);
|
|
||||||
|
|
||||||
public GlobalFilter GlobalFilter { get; } = new GlobalFilter();
|
public GlobalFilter GlobalFilter { get; } = new GlobalFilter();
|
||||||
|
|
||||||
|
@ -49,8 +49,7 @@ namespace FreeSql.Odbc.PostgreSQL
|
|||||||
internal CommonExpression InternalCommonExpression { get; }
|
internal CommonExpression InternalCommonExpression { get; }
|
||||||
|
|
||||||
public void Transaction(Action handler) => Ado.Transaction(handler);
|
public void Transaction(Action handler) => Ado.Transaction(handler);
|
||||||
public void Transaction(TimeSpan timeout, Action handler) => Ado.Transaction(timeout, handler);
|
public void Transaction(IsolationLevel isolationLevel, Action handler) => Ado.Transaction(isolationLevel, handler);
|
||||||
public void Transaction(IsolationLevel isolationLevel, TimeSpan timeout, Action handler) => Ado.Transaction(isolationLevel, timeout, handler);
|
|
||||||
|
|
||||||
public GlobalFilter GlobalFilter { get; } = new GlobalFilter();
|
public GlobalFilter GlobalFilter { get; } = new GlobalFilter();
|
||||||
|
|
||||||
|
@ -57,8 +57,7 @@ namespace FreeSql.Odbc.SqlServer
|
|||||||
internal CommonExpression InternalCommonExpression { get; }
|
internal CommonExpression InternalCommonExpression { get; }
|
||||||
|
|
||||||
public void Transaction(Action handler) => Ado.Transaction(handler);
|
public void Transaction(Action handler) => Ado.Transaction(handler);
|
||||||
public void Transaction(TimeSpan timeout, Action handler) => Ado.Transaction(timeout, handler);
|
public void Transaction(IsolationLevel isolationLevel, Action handler) => Ado.Transaction(isolationLevel, handler);
|
||||||
public void Transaction(IsolationLevel isolationLevel, TimeSpan timeout, Action handler) => Ado.Transaction(isolationLevel, timeout, handler);
|
|
||||||
|
|
||||||
public GlobalFilter GlobalFilter { get; } = new GlobalFilter();
|
public GlobalFilter GlobalFilter { get; } = new GlobalFilter();
|
||||||
|
|
||||||
|
@ -46,8 +46,7 @@ namespace FreeSql.Oracle
|
|||||||
internal CommonExpression InternalCommonExpression { get; }
|
internal CommonExpression InternalCommonExpression { get; }
|
||||||
|
|
||||||
public void Transaction(Action handler) => Ado.Transaction(handler);
|
public void Transaction(Action handler) => Ado.Transaction(handler);
|
||||||
public void Transaction(TimeSpan timeout, Action handler) => Ado.Transaction(timeout, handler);
|
public void Transaction(IsolationLevel isolationLevel, Action handler) => Ado.Transaction(isolationLevel, handler);
|
||||||
public void Transaction(IsolationLevel isolationLevel, TimeSpan timeout, Action handler) => Ado.Transaction(isolationLevel, timeout, handler);
|
|
||||||
|
|
||||||
public GlobalFilter GlobalFilter { get; } = new GlobalFilter();
|
public GlobalFilter GlobalFilter { get; } = new GlobalFilter();
|
||||||
|
|
||||||
|
@ -99,8 +99,7 @@ namespace FreeSql.PostgreSQL
|
|||||||
internal CommonExpression InternalCommonExpression { get; }
|
internal CommonExpression InternalCommonExpression { get; }
|
||||||
|
|
||||||
public void Transaction(Action handler) => Ado.Transaction(handler);
|
public void Transaction(Action handler) => Ado.Transaction(handler);
|
||||||
public void Transaction(TimeSpan timeout, Action handler) => Ado.Transaction(timeout, handler);
|
public void Transaction(IsolationLevel isolationLevel, Action handler) => Ado.Transaction(isolationLevel, handler);
|
||||||
public void Transaction(IsolationLevel isolationLevel, TimeSpan timeout, Action handler) => Ado.Transaction(isolationLevel, timeout, handler);
|
|
||||||
|
|
||||||
public GlobalFilter GlobalFilter { get; } = new GlobalFilter();
|
public GlobalFilter GlobalFilter { get; } = new GlobalFilter();
|
||||||
|
|
||||||
|
@ -58,8 +58,7 @@ namespace FreeSql.SqlServer
|
|||||||
internal CommonExpression InternalCommonExpression { get; }
|
internal CommonExpression InternalCommonExpression { get; }
|
||||||
|
|
||||||
public void Transaction(Action handler) => Ado.Transaction(handler);
|
public void Transaction(Action handler) => Ado.Transaction(handler);
|
||||||
public void Transaction(TimeSpan timeout, Action handler) => Ado.Transaction(timeout, handler);
|
public void Transaction(IsolationLevel isolationLevel, Action handler) => Ado.Transaction(isolationLevel, handler);
|
||||||
public void Transaction(IsolationLevel isolationLevel, TimeSpan timeout, Action handler) => Ado.Transaction(isolationLevel, timeout, handler);
|
|
||||||
|
|
||||||
public GlobalFilter GlobalFilter { get; } = new GlobalFilter();
|
public GlobalFilter GlobalFilter { get; } = new GlobalFilter();
|
||||||
|
|
||||||
|
@ -47,8 +47,7 @@ namespace FreeSql.Sqlite
|
|||||||
internal CommonExpression InternalCommonExpression { get; }
|
internal CommonExpression InternalCommonExpression { get; }
|
||||||
|
|
||||||
public void Transaction(Action handler) => Ado.Transaction(handler);
|
public void Transaction(Action handler) => Ado.Transaction(handler);
|
||||||
public void Transaction(TimeSpan timeout, Action handler) => Ado.Transaction(timeout, handler);
|
public void Transaction(IsolationLevel isolationLevel, Action handler) => Ado.Transaction(isolationLevel, handler);
|
||||||
public void Transaction(IsolationLevel isolationLevel, TimeSpan timeout, Action handler) => Ado.Transaction(isolationLevel, timeout, handler);
|
|
||||||
|
|
||||||
public GlobalFilter GlobalFilter { get; } = new GlobalFilter();
|
public GlobalFilter GlobalFilter { get; } = new GlobalFilter();
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user