diff --git a/FreeSql/FreeSql.csproj b/FreeSql/FreeSql.csproj index 12b5e2bd..1755002b 100644 --- a/FreeSql/FreeSql.csproj +++ b/FreeSql/FreeSql.csproj @@ -2,7 +2,7 @@ netstandard2.0 - 0.4.1 + 0.4.1.2 true YeXiangQin FreeSql is the most convenient ORM in dotnet. It supports Mysql, Postgresql, SqlServer, Oracle and Sqlite. diff --git a/FreeSql/Internal/CommonProvider/AdoProvider/AdoProviderTransaction.cs b/FreeSql/Internal/CommonProvider/AdoProvider/AdoProviderTransaction.cs index 460ae498..a0f3e612 100644 --- a/FreeSql/Internal/CommonProvider/AdoProvider/AdoProviderTransaction.cs +++ b/FreeSql/Internal/CommonProvider/AdoProvider/AdoProviderTransaction.cs @@ -48,6 +48,8 @@ namespace FreeSql.Internal.CommonProvider { public void TransactionPreRemoveCache(params string[] key) => PreRemove(key); public void BeginTransaction(TimeSpan timeout) { + if (TransactionCurrentThread != null) return; + int tid = Thread.CurrentThread.ManagedThreadId; Transaction2 tran = null; Object conn = null; diff --git a/FreeSql/Internal/CommonProvider/UpdateProvider.cs b/FreeSql/Internal/CommonProvider/UpdateProvider.cs index 12ccb98a..975580a2 100644 --- a/FreeSql/Internal/CommonProvider/UpdateProvider.cs +++ b/FreeSql/Internal/CommonProvider/UpdateProvider.cs @@ -388,7 +388,7 @@ namespace FreeSql.Internal.CommonProvider { _paramsSource.Clear(); var colidx = 0; foreach (var col in _table.Columns.Values) { - if (col.Attribute.IsIdentity == false && _ignore.ContainsKey(col.CsName) == false) { + if (col.Attribute.IsIdentity == false && col.Attribute.IsVersion == false && _ignore.ContainsKey(col.CsName) == false) { if (colidx > 0) sb.Append(", "); sb.Append(_commonUtils.QuoteSqlName(col.Attribute.Name)).Append(" = "); var value = _table.Properties.TryGetValue(col.CsName, out var tryp) ? tryp.GetValue(_source.First()) : null; @@ -414,7 +414,7 @@ namespace FreeSql.Internal.CommonProvider { _paramsSource.Clear(); var colidx = 0; foreach (var col in _table.Columns.Values) { - if (col.Attribute.IsIdentity == false && _ignore.ContainsKey(col.CsName) == false) { + if (col.Attribute.IsIdentity == false && col.Attribute.IsVersion == false && _ignore.ContainsKey(col.CsName) == false) { if (colidx > 0) sb.Append(", "); sb.Append(_commonUtils.QuoteSqlName(col.Attribute.Name)).Append(" = ");