From 5c427c0b6b4bf5246270ab73d87cd3ec39ae28be Mon Sep 17 00:00:00 2001 From: 2881099 <2881099@qq.com> Date: Mon, 13 Jun 2022 20:01:30 +0800 Subject: [PATCH] v3.2.663 #1155 --- Directory.Build.props | 2 +- .../CommonProvider/SelectProvider/Select0Provider.cs | 8 +++++++- 2 files changed, 8 insertions(+), 2 deletions(-) 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();