diff --git a/Directory.Build.props b/Directory.Build.props index b27909c0..373f2363 100644 --- a/Directory.Build.props +++ b/Directory.Build.props @@ -9,7 +9,7 @@ - 3.2.666-preview20220612 + 3.2.663 diff --git a/FreeSql/Internal/CommonProvider/SelectProvider/Select0Provider.cs b/FreeSql/Internal/CommonProvider/SelectProvider/Select0Provider.cs index 457747fd..8304e406 100644 --- a/FreeSql/Internal/CommonProvider/SelectProvider/Select0Provider.cs +++ b/FreeSql/Internal/CommonProvider/SelectProvider/Select0Provider.cs @@ -21,6 +21,7 @@ namespace FreeSql.Internal.CommonProvider public string _select = "SELECT ", _orderby, _groupby, _having; public StringBuilder _where = new StringBuilder(); public List _params = new List(); + public List _paramsInit; public List _tables = new List(); public List> _tableRules = new List>(); public Func _tableRule => _tableRules?.FirstOrDefault(); @@ -46,12 +47,17 @@ namespace FreeSql.Internal.CommonProvider public Func _cancel; public bool _is_AsTreeCte; + public Select0Provider() + { + _paramsInit = _params; + } + int _disposeCounter; ~Select0Provider() { if (Interlocked.Increment(ref _disposeCounter) != 1) return; _where.Clear(); - //_params.Clear(); 子查询与主查询共享,并发导致错误清除了主查询参数化信息 https://github.com/dotnetcore/FreeSql/issues/1155 + if (_paramsInit == _params) _params.Clear(); //子查询与主查询共享,并发导致错误清除了主查询参数化信息 https://github.com/dotnetcore/FreeSql/issues/1155 _tables.Clear(); _tableRules.Clear(); _join.Clear();