diff --git a/NFox/Cad/Runtime/DBTransaction.cs b/NFox/Cad/Runtime/DBTransaction.cs index ba5d407970fcd6c635fa5c7900c958f1e94d1c4a..98e1f4ee9cebcf496f23a014ed3a6171e3676055 100644 --- a/NFox/Cad/Runtime/DBTransaction.cs +++ b/NFox/Cad/Runtime/DBTransaction.cs @@ -1,4 +1,4 @@ -using System; +using System; using System.Collections.Generic; using System.IO; using System.Linq; @@ -19,7 +19,7 @@ namespace NFox.Cad public class DBTransaction : IDisposable { private bool _commit = false; - + private bool _disposed =false; //属性 #region Properties @@ -162,15 +162,32 @@ namespace NFox.Cad Database.CloseInput(true); Initialize(false); } - /// /// 销毁 /// - void IDisposable.Dispose() + public void Dispose() { - Commit(); - Transaction.Dispose(); + Dispose(true); + GC.SuppressFinalize(this); } + protected virtual void Dispose(bool disposing) + { + if(!this._disposed) + { + if(disposing) + { + Commit(); + Transaction.Dispose(); + } + disposed = true; + } + } + + //void IDisposable.Dispose() + //{ + //Commit(); + //Transaction.Dispose(); + //} /// /// 提交事务