diff --git a/FreeSql.DbContext/FreeSql.DbContext.xml b/FreeSql.DbContext/FreeSql.DbContext.xml index 27909b2e..02eb0609 100644 --- a/FreeSql.DbContext/FreeSql.DbContext.xml +++ b/FreeSql.DbContext/FreeSql.DbContext.xml @@ -512,14 +512,5 @@ - - - 批量注入 Repository,可以参考代码自行调整 - - - - - - diff --git a/FreeSql.Tests/FreeSql.Tests/MySql/Curd/MySqlUpdateTest.cs b/FreeSql.Tests/FreeSql.Tests/MySql/Curd/MySqlUpdateTest.cs index 3294d265..07b116f1 100644 --- a/FreeSql.Tests/FreeSql.Tests/MySql/Curd/MySqlUpdateTest.cs +++ b/FreeSql.Tests/FreeSql.Tests/MySql/Curd/MySqlUpdateTest.cs @@ -55,6 +55,9 @@ namespace FreeSql.Tests.MySql sql = update.SetSource(items).IgnoreColumns(a => new { a.Clicks, a.CreateTime }).ToSql().Replace("\r\n", ""); Assert.Equal("UPDATE `tb_topic` SET `Title` = CASE `Id` WHEN 1 THEN ?p_0 WHEN 2 THEN ?p_1 WHEN 3 THEN ?p_2 WHEN 4 THEN ?p_3 WHEN 5 THEN ?p_4 WHEN 6 THEN ?p_5 WHEN 7 THEN ?p_6 WHEN 8 THEN ?p_7 WHEN 9 THEN ?p_8 WHEN 10 THEN ?p_9 END WHERE (`Id` IN (1,2,3,4,5,6,7,8,9,10))", sql); + sql = update.SetSource(items, a => a.Title).ToSql().Replace("\r\n", ""); + Assert.Equal("UPDATE `tb_topic` SET `Clicks` = CASE `Title` WHEN 'newtitle0' THEN ?p_0 WHEN 'newtitle1' THEN ?p_1 WHEN 'newtitle2' THEN ?p_2 WHEN 'newtitle3' THEN ?p_3 WHEN 'newtitle4' THEN ?p_4 WHEN 'newtitle5' THEN ?p_5 WHEN 'newtitle6' THEN ?p_6 WHEN 'newtitle7' THEN ?p_7 WHEN 'newtitle8' THEN ?p_8 WHEN 'newtitle9' THEN ?p_9 END, `CreateTime` = CASE `Title` WHEN 'newtitle0' THEN ?p_10 WHEN 'newtitle1' THEN ?p_11 WHEN 'newtitle2' THEN ?p_12 WHEN 'newtitle3' THEN ?p_13 WHEN 'newtitle4' THEN ?p_14 WHEN 'newtitle5' THEN ?p_15 WHEN 'newtitle6' THEN ?p_16 WHEN 'newtitle7' THEN ?p_17 WHEN 'newtitle8' THEN ?p_18 WHEN 'newtitle9' THEN ?p_19 END WHERE (`Title` IN ('newtitle0','newtitle1','newtitle2','newtitle3','newtitle4','newtitle5','newtitle6','newtitle7','newtitle8','newtitle9'))", sql); + sql = update.SetSource(items).Set(a => a.CreateTime, new DateTime(2020, 1, 1)).ToSql().Replace("\r\n", ""); Assert.Equal("UPDATE `tb_topic` SET `CreateTime` = ?p_0 WHERE (`Id` IN (1,2,3,4,5,6,7,8,9,10))", sql); diff --git a/FreeSql/FreeSql.xml b/FreeSql/FreeSql.xml index fd0aedfe..69519dc0 100644 --- a/FreeSql/FreeSql.xml +++ b/FreeSql/FreeSql.xml @@ -2726,12 +2726,13 @@ 实体 - + 更新数据,设置更新的实体集合 注意:实体必须定义主键,并且最终会自动附加条件 where id in (source.Id) 实体集合 + 根据主键更新,a => a.Name | a => new{a.Name,a.Time} | a => new[]{"name","time"} diff --git a/FreeSql/Interface/Curd/IUpdate.cs b/FreeSql/Interface/Curd/IUpdate.cs index f18eeb3b..91bc3eae 100644 --- a/FreeSql/Interface/Curd/IUpdate.cs +++ b/FreeSql/Interface/Curd/IUpdate.cs @@ -72,8 +72,9 @@ namespace FreeSql /// 注意:实体必须定义主键,并且最终会自动附加条件 where id in (source.Id) /// /// 实体集合 + /// 根据主键更新,a => a.Name | a => new{a.Name,a.Time} | a => new[]{"name","time"} /// - IUpdate SetSource(IEnumerable source); + IUpdate SetSource(IEnumerable source, Expression> primarys = null); /// /// 更新数据,设置更新的实体,同时设置忽略的列 /// 忽略 null 属性:fsql.Update<T>().SetSourceAndIgnore(item, colval => colval == null) diff --git a/FreeSql/Internal/CommonProvider/DeleteProvider.cs b/FreeSql/Internal/CommonProvider/DeleteProvider.cs index 448ff585..95d92df9 100644 --- a/FreeSql/Internal/CommonProvider/DeleteProvider.cs +++ b/FreeSql/Internal/CommonProvider/DeleteProvider.cs @@ -108,7 +108,7 @@ namespace FreeSql.Internal.CommonProvider return this; } public IDelete Where(T1 item) => this.Where(new[] { item }); - public IDelete Where(IEnumerable items) => this.Where(_commonUtils.WhereItems(_table, "", items)); + public IDelete Where(IEnumerable items) => this.Where(_commonUtils.WhereItems(_table.Primarys, "", items)); public IDelete WhereDynamic(object dywhere, bool not = false) => not == false ? this.Where(_commonUtils.WhereObject(_table, "", dywhere)) : this.Where($"not({_commonUtils.WhereObject(_table, "", dywhere)})"); diff --git a/FreeSql/Internal/CommonProvider/UpdateProvider.cs b/FreeSql/Internal/CommonProvider/UpdateProvider.cs index 8f5044fd..547e8d17 100644 --- a/FreeSql/Internal/CommonProvider/UpdateProvider.cs +++ b/FreeSql/Internal/CommonProvider/UpdateProvider.cs @@ -22,6 +22,7 @@ namespace FreeSql.Internal.CommonProvider public Dictionary _ignore = new Dictionary(StringComparer.CurrentCultureIgnoreCase); public Dictionary _auditValueChangedDict = new Dictionary(StringComparer.CurrentCultureIgnoreCase); public TableInfo _table; + public ColumnInfo[] _tempPrimarys; public Func _tableRule; public StringBuilder _where = new StringBuilder(); public List _whereGlobalFilter; @@ -45,6 +46,7 @@ namespace FreeSql.Internal.CommonProvider _commonUtils = commonUtils; _commonExpression = commonExpression; _table = _commonUtils.GetTableByEntity(typeof(T1)); + _tempPrimarys = _table.Primarys; _noneParameter = _orm.CodeFirst.IsNoneCommandParameter; this.Where(_commonUtils.WhereObject(_table, "", dywhere)); if (_orm.CodeFirst.IsAutoSyncStructure && typeof(T1) != typeof(object)) _orm.CodeFirst.SyncStructure(); @@ -410,11 +412,17 @@ namespace FreeSql.Internal.CommonProvider } public IUpdate SetSource(T1 source) => this.SetSource(new[] { source }); - public IUpdate SetSource(IEnumerable source) + public IUpdate SetSource(IEnumerable source, Expression> tempPrimarys = null) { if (source == null || source.Any() == false) return this; AuditDataValue(this, source, _orm, _table, _auditValueChangedDict); _source.AddRange(source.Where(a => a != null)); + + if (tempPrimarys != null) + { + var cols = _commonExpression.ExpressionSelectColumns_MemberAccess_New_NewArrayInit(null, tempPrimarys?.Body, false, null).Distinct().ToDictionary(a => a); + _tempPrimarys = cols.Keys.Select(a => _table.ColumnsByCs.TryGetValue(a, out var col) ? col : null).ToArray().Where(a => a != null).ToArray(); + } return this; } public IUpdate SetSourceIgnore(T1 source, Func ignore) @@ -562,7 +570,7 @@ namespace FreeSql.Internal.CommonProvider return this; } public IUpdate Where(T1 item) => this.Where(new[] { item }); - public IUpdate Where(IEnumerable items) => this.Where(_commonUtils.WhereItems(_table, "", items)); + public IUpdate Where(IEnumerable items) => this.Where(_commonUtils.WhereItems(_table.Primarys, "", items)); public IUpdate WhereDynamic(object dywhere, bool not = false) => not == false ? this.Where(_commonUtils.WhereObject(_table, "", dywhere)) : this.Where($"not({_commonUtils.WhereObject(_table, "", dywhere)})"); @@ -608,7 +616,7 @@ namespace FreeSql.Internal.CommonProvider { var caseWhen = new StringBuilder(); caseWhen.Append("CASE "); - ToSqlCase(caseWhen, _table.Primarys); + ToSqlCase(caseWhen, _tempPrimarys); var cw = caseWhen.ToString(); var col = _table.ColumnsByCs[CsName]; @@ -620,7 +628,7 @@ namespace FreeSql.Internal.CommonProvider foreach (var d in _source) { cwsb.Append(" \r\nWHEN "); - ToSqlWhen(cwsb, _table.Primarys, d); + ToSqlWhen(cwsb, _tempPrimarys, d); cwsb.Append(" THEN "); var val = col.GetDbValue(d); cwsb.Append(thenValue(_commonUtils.RewriteColumn(col, _commonUtils.GetNoneParamaterSqlValue(_paramsSource, "u", col, col.Attribute.MapType, val)))); @@ -685,6 +693,7 @@ namespace FreeSql.Internal.CommonProvider foreach (var col in _table.Columns.Values) { if (col.Attribute.IsPrimary) continue; + if (_tempPrimarys.Any(a => a.CsName == col.CsName)) continue; if (col.Attribute.IsIdentity == false && col.Attribute.IsVersion == false && _ignore.ContainsKey(col.Attribute.Name) == false) { if (colidx > 0) sb.Append(", "); @@ -710,11 +719,11 @@ namespace FreeSql.Internal.CommonProvider } else if (_source.Count > 1) { //批量保存 Source - if (_table.Primarys.Any() == false) return null; + if (_tempPrimarys.Any() == false) return null; var caseWhen = new StringBuilder(); caseWhen.Append("CASE "); - ToSqlCase(caseWhen, _table.Primarys); + ToSqlCase(caseWhen, _tempPrimarys); var cw = caseWhen.ToString(); _paramsSource.Clear(); @@ -722,6 +731,7 @@ namespace FreeSql.Internal.CommonProvider foreach (var col in _table.Columns.Values) { if (col.Attribute.IsPrimary) continue; + if (_tempPrimarys.Any(a => a.CsName == col.CsName)) continue; if (col.Attribute.IsIdentity == false && col.Attribute.IsVersion == false && _ignore.ContainsKey(col.Attribute.Name) == false) { if (colidx > 0) sb.Append(", "); @@ -736,7 +746,7 @@ namespace FreeSql.Internal.CommonProvider foreach (var d in _source) { cwsb.Append(" \r\nWHEN "); - ToSqlWhen(cwsb, _table.Primarys, d); + ToSqlWhen(cwsb, _tempPrimarys, d); cwsb.Append(" THEN "); var val = col.GetDbValue(d); @@ -789,8 +799,8 @@ namespace FreeSql.Internal.CommonProvider sb.Append(" \r\nWHERE "); if (_source.Any()) { - if (_table.Primarys.Any() == false) throw new ArgumentException($"{_table.Type.DisplayCsharp()} 没有定义主键,无法使用 SetSource,请尝试 SetDto"); - sb.Append('(').Append(_commonUtils.WhereItems(_table, "", _source)).Append(')'); + if (_tempPrimarys.Any() == false) throw new ArgumentException($"{_table.Type.DisplayCsharp()} 没有定义主键,无法使用 SetSource,请尝试 SetDto"); + sb.Append('(').Append(_commonUtils.WhereItems(_tempPrimarys, "", _source)).Append(')'); } if (_where.Length > 0) diff --git a/FreeSql/Internal/CommonUtils.cs b/FreeSql/Internal/CommonUtils.cs index a7fa8257..63bd8905 100644 --- a/FreeSql/Internal/CommonUtils.cs +++ b/FreeSql/Internal/CommonUtils.cs @@ -367,14 +367,14 @@ namespace FreeSql.Internal } } - public string WhereItems(TableInfo table, string aliasAndDot, IEnumerable items) + public string WhereItems(ColumnInfo[] primarys, string aliasAndDot, IEnumerable items) { if (items == null || items.Any() == false) return null; - if (table.Primarys.Any() == false) return null; + if (primarys.Any() == false) return null; var its = items.Where(a => a != null).ToArray(); - var pk1 = table.Primarys.FirstOrDefault(); - if (table.Primarys.Length == 1) + var pk1 = primarys.FirstOrDefault(); + if (primarys.Length == 1) { var sbin = new StringBuilder(); sbin.Append(aliasAndDot).Append(this.QuoteSqlName(pk1.Attribute.Name)); @@ -390,7 +390,7 @@ namespace FreeSql.Internal foreach (var item in its) { var filter = ""; - foreach (var pk in table.Primarys) + foreach (var pk in primarys) filter += $" AND {aliasAndDot}{this.QuoteSqlName(pk.Attribute.Name)} = {RewriteColumn(pk, GetNoneParamaterSqlValue(null, null, pk, pk.Attribute.MapType, pk.GetDbValue(item)))}"; if (string.IsNullOrEmpty(filter)) continue; if (sb != null) diff --git a/Providers/FreeSql.Provider.Custom/Curd/CustomUpdate.cs b/Providers/FreeSql.Provider.Custom/Curd/CustomUpdate.cs index 3d7add7c..338d2d29 100644 --- a/Providers/FreeSql.Provider.Custom/Curd/CustomUpdate.cs +++ b/Providers/FreeSql.Provider.Custom/Curd/CustomUpdate.cs @@ -27,15 +27,15 @@ namespace FreeSql.Custom protected override void ToSqlCase(StringBuilder caseWhen, ColumnInfo[] primarys) { - if (_table.Primarys.Length == 1) + if (primarys.Length == 1) { - var pk = _table.Primarys.First(); + var pk = primarys.First(); caseWhen.Append(_commonUtils.RereadColumn(pk, _commonUtils.QuoteSqlName(pk.Attribute.Name))); return; } caseWhen.Append("("); var pkidx = 0; - foreach (var pk in _table.Primarys) + foreach (var pk in primarys) { if (pkidx > 0) caseWhen.Append(" + '+' + "); caseWhen.Append(_utils.Adapter.CastSql(_commonUtils.RereadColumn(pk, _commonUtils.QuoteSqlName(pk.Attribute.Name)), _utils.Adapter.MappingDbTypeVarChar)); @@ -46,13 +46,13 @@ namespace FreeSql.Custom protected override void ToSqlWhen(StringBuilder sb, ColumnInfo[] primarys, object d) { - if (_table.Primarys.Length == 1) + if (primarys.Length == 1) { - sb.Append(_commonUtils.FormatSql("{0}", _table.Primarys[0].GetDbValue(d))); + sb.Append(_commonUtils.FormatSql("{0}", primarys[0].GetDbValue(d))); return; } var pkidx = 0; - foreach (var pk in _table.Primarys) + foreach (var pk in primarys) { if (pkidx > 0) sb.Append(" + '+' + "); sb.Append(_utils.Adapter.CastSql(_commonUtils.FormatSql("{0}", pk.GetDbValue(d)), _utils.Adapter.MappingDbTypeVarChar)); diff --git a/Providers/FreeSql.Provider.Dameng/Curd/DamengUpdate.cs b/Providers/FreeSql.Provider.Dameng/Curd/DamengUpdate.cs index 4c40bf62..96eb38b8 100644 --- a/Providers/FreeSql.Provider.Dameng/Curd/DamengUpdate.cs +++ b/Providers/FreeSql.Provider.Dameng/Curd/DamengUpdate.cs @@ -29,15 +29,15 @@ namespace FreeSql.Dameng.Curd protected override void ToSqlCase(StringBuilder caseWhen, ColumnInfo[] primarys) { - if (_table.Primarys.Length == 1) + if (primarys.Length == 1) { - var pk = _table.Primarys.First(); + var pk = primarys.First(); caseWhen.Append(_commonUtils.RereadColumn(pk, _commonUtils.QuoteSqlName(pk.Attribute.Name))); return; } caseWhen.Append("("); var pkidx = 0; - foreach (var pk in _table.Primarys) + foreach (var pk in primarys) { if (pkidx > 0) caseWhen.Append(" || '+' || "); caseWhen.Append(_commonUtils.RereadColumn(pk, _commonUtils.QuoteSqlName(pk.Attribute.Name))); @@ -48,14 +48,14 @@ namespace FreeSql.Dameng.Curd protected override void ToSqlWhen(StringBuilder sb, ColumnInfo[] primarys, object d) { - if (_table.Primarys.Length == 1) + if (primarys.Length == 1) { - sb.Append(_commonUtils.FormatSql("{0}", _table.Primarys[0].GetDbValue(d))); + sb.Append(_commonUtils.FormatSql("{0}", primarys[0].GetDbValue(d))); return; } sb.Append("("); var pkidx = 0; - foreach (var pk in _table.Primarys) + foreach (var pk in primarys) { if (pkidx > 0) sb.Append(" || '+' || "); sb.Append(_commonUtils.FormatSql("{0}", pk.GetDbValue(d))); diff --git a/Providers/FreeSql.Provider.Firebird/Curd/FirebirdUpdate.cs b/Providers/FreeSql.Provider.Firebird/Curd/FirebirdUpdate.cs index e2a7274b..464bf9dd 100644 --- a/Providers/FreeSql.Provider.Firebird/Curd/FirebirdUpdate.cs +++ b/Providers/FreeSql.Provider.Firebird/Curd/FirebirdUpdate.cs @@ -63,15 +63,15 @@ namespace FreeSql.Firebird.Curd protected override void ToSqlCase(StringBuilder caseWhen, ColumnInfo[] primarys) { - if (_table.Primarys.Length == 1) + if (primarys.Length == 1) { - var pk = _table.Primarys.First(); + var pk = primarys.First(); caseWhen.Append(_commonUtils.RereadColumn(pk, _commonUtils.QuoteSqlName(pk.Attribute.Name))); return; } caseWhen.Append("CONCAT("); var pkidx = 0; - foreach (var pk in _table.Primarys) + foreach (var pk in primarys) { if (pkidx > 0) caseWhen.Append(", '+', "); caseWhen.Append(_commonUtils.RereadColumn(pk, _commonUtils.QuoteSqlName(pk.Attribute.Name))); @@ -82,14 +82,14 @@ namespace FreeSql.Firebird.Curd protected override void ToSqlWhen(StringBuilder sb, ColumnInfo[] primarys, object d) { - if (_table.Primarys.Length == 1) + if (primarys.Length == 1) { - sb.Append(_commonUtils.FormatSql("{0}", _table.Primarys[0].GetDbValue(d))); + sb.Append(_commonUtils.FormatSql("{0}", primarys[0].GetDbValue(d))); return; } sb.Append("CONCAT("); var pkidx = 0; - foreach (var pk in _table.Primarys) + foreach (var pk in primarys) { if (pkidx > 0) sb.Append(", '+', "); sb.Append(_commonUtils.FormatSql("{0}", pk.GetDbValue(d))); diff --git a/Providers/FreeSql.Provider.KingbaseES/Curd/KingbaseESUpdate.cs b/Providers/FreeSql.Provider.KingbaseES/Curd/KingbaseESUpdate.cs index 7b928c9f..ac3927b4 100644 --- a/Providers/FreeSql.Provider.KingbaseES/Curd/KingbaseESUpdate.cs +++ b/Providers/FreeSql.Provider.KingbaseES/Curd/KingbaseESUpdate.cs @@ -71,16 +71,16 @@ namespace FreeSql.KingbaseES protected override void ToSqlCase(StringBuilder caseWhen, ColumnInfo[] primarys) { - if (_table.Primarys.Length == 1) + if (primarys.Length == 1) { - var pk = _table.Primarys.First(); + var pk = primarys.First(); if (string.IsNullOrEmpty(InternalTableAlias) == false) caseWhen.Append(InternalTableAlias).Append("."); caseWhen.Append(_commonUtils.RereadColumn(pk, _commonUtils.QuoteSqlName(pk.Attribute.Name))); return; } caseWhen.Append("("); var pkidx = 0; - foreach (var pk in _table.Primarys) + foreach (var pk in primarys) { if (pkidx > 0) caseWhen.Append(" || '+' || "); if (string.IsNullOrEmpty(InternalTableAlias) == false) caseWhen.Append(InternalTableAlias).Append("."); @@ -92,14 +92,14 @@ namespace FreeSql.KingbaseES protected override void ToSqlWhen(StringBuilder sb, ColumnInfo[] primarys, object d) { - if (_table.Primarys.Length == 1) + if (primarys.Length == 1) { - sb.Append(_commonUtils.FormatSql("{0}", _table.Primarys[0].GetDbValue(d))); + sb.Append(_commonUtils.FormatSql("{0}", primarys[0].GetDbValue(d))); return; } sb.Append("("); var pkidx = 0; - foreach (var pk in _table.Primarys) + foreach (var pk in primarys) { if (pkidx > 0) sb.Append(" || '+' || "); sb.Append(_commonUtils.FormatSql("{0}", pk.GetDbValue(d))).Append("::text"); diff --git a/Providers/FreeSql.Provider.MsAccess/Curd/MsAccessUpdate.cs b/Providers/FreeSql.Provider.MsAccess/Curd/MsAccessUpdate.cs index 7a190bf7..65bfa99e 100644 --- a/Providers/FreeSql.Provider.MsAccess/Curd/MsAccessUpdate.cs +++ b/Providers/FreeSql.Provider.MsAccess/Curd/MsAccessUpdate.cs @@ -34,15 +34,15 @@ namespace FreeSql.MsAccess.Curd protected override void ToSqlCase(StringBuilder caseWhen, ColumnInfo[] primarys) { - if (_table.Primarys.Length == 1) + if (primarys.Length == 1) { - var pk = _table.Primarys.First(); + var pk = primarys.First(); caseWhen.Append(_commonUtils.RereadColumn(pk, _commonUtils.QuoteSqlName(pk.Attribute.Name))); return; } caseWhen.Append("("); var pkidx = 0; - foreach (var pk in _table.Primarys) + foreach (var pk in primarys) { if (pkidx > 0) caseWhen.Append(" + '+' + "); caseWhen.Append(MsAccessUtils.GetCastSql(_commonUtils.RereadColumn(pk, _commonUtils.QuoteSqlName(pk.Attribute.Name)), typeof(string))); @@ -53,13 +53,13 @@ namespace FreeSql.MsAccess.Curd protected override void ToSqlWhen(StringBuilder sb, ColumnInfo[] primarys, object d) { - if (_table.Primarys.Length == 1) + if (primarys.Length == 1) { - sb.Append(_commonUtils.FormatSql("{0}", _table.Primarys[0].GetDbValue(d))); + sb.Append(_commonUtils.FormatSql("{0}", primarys[0].GetDbValue(d))); return; } var pkidx = 0; - foreach (var pk in _table.Primarys) + foreach (var pk in primarys) { if (pkidx > 0) sb.Append(" + '+' + "); sb.Append(MsAccessUtils.GetCastSql(_commonUtils.FormatSql("{0}", pk.GetDbValue(d)), typeof(string))); diff --git a/Providers/FreeSql.Provider.MySql/Curd/MySqlUpdate.cs b/Providers/FreeSql.Provider.MySql/Curd/MySqlUpdate.cs index 69cdc409..9611e331 100644 --- a/Providers/FreeSql.Provider.MySql/Curd/MySqlUpdate.cs +++ b/Providers/FreeSql.Provider.MySql/Curd/MySqlUpdate.cs @@ -70,15 +70,15 @@ namespace FreeSql.MySql.Curd protected override void ToSqlCase(StringBuilder caseWhen, ColumnInfo[] primarys) { - if (_table.Primarys.Length == 1) + if (primarys.Length == 1) { - var pk = _table.Primarys.First(); + var pk = primarys.First(); caseWhen.Append(_commonUtils.RereadColumn(pk, _commonUtils.QuoteSqlName(pk.Attribute.Name))); return; } caseWhen.Append("CONCAT("); var pkidx = 0; - foreach (var pk in _table.Primarys) + foreach (var pk in primarys) { if (pkidx > 0) caseWhen.Append(", '+', "); caseWhen.Append(_commonUtils.RereadColumn(pk, _commonUtils.QuoteSqlName(pk.Attribute.Name))); @@ -89,14 +89,14 @@ namespace FreeSql.MySql.Curd protected override void ToSqlWhen(StringBuilder sb, ColumnInfo[] primarys, object d) { - if (_table.Primarys.Length == 1) + if (primarys.Length == 1) { - sb.Append(_commonUtils.FormatSql("{0}", _table.Primarys[0].GetDbValue(d))); + sb.Append(_commonUtils.FormatSql("{0}", primarys[0].GetDbValue(d))); return; } sb.Append("CONCAT("); var pkidx = 0; - foreach (var pk in _table.Primarys) + foreach (var pk in primarys) { if (pkidx > 0) sb.Append(", '+', "); sb.Append(_commonUtils.FormatSql("{0}", pk.GetDbValue(d))); diff --git a/Providers/FreeSql.Provider.Odbc/Dameng/Curd/OdbcDamengUpdate.cs b/Providers/FreeSql.Provider.Odbc/Dameng/Curd/OdbcDamengUpdate.cs index 438c7798..6454901d 100644 --- a/Providers/FreeSql.Provider.Odbc/Dameng/Curd/OdbcDamengUpdate.cs +++ b/Providers/FreeSql.Provider.Odbc/Dameng/Curd/OdbcDamengUpdate.cs @@ -30,15 +30,15 @@ namespace FreeSql.Odbc.Dameng protected override void ToSqlCase(StringBuilder caseWhen, ColumnInfo[] primarys) { - if (_table.Primarys.Length == 1) + if (primarys.Length == 1) { - var pk = _table.Primarys.First(); + var pk = primarys.First(); caseWhen.Append(_commonUtils.RereadColumn(pk, _commonUtils.QuoteSqlName(pk.Attribute.Name))); return; } caseWhen.Append("("); var pkidx = 0; - foreach (var pk in _table.Primarys) + foreach (var pk in primarys) { if (pkidx > 0) caseWhen.Append(" || '+' || "); caseWhen.Append(_commonUtils.RereadColumn(pk, _commonUtils.QuoteSqlName(pk.Attribute.Name))); @@ -49,14 +49,14 @@ namespace FreeSql.Odbc.Dameng protected override void ToSqlWhen(StringBuilder sb, ColumnInfo[] primarys, object d) { - if (_table.Primarys.Length == 1) + if (primarys.Length == 1) { - sb.Append(_commonUtils.FormatSql("{0}", _table.Primarys[0].GetDbValue(d))); + sb.Append(_commonUtils.FormatSql("{0}", primarys[0].GetDbValue(d))); return; } sb.Append("("); var pkidx = 0; - foreach (var pk in _table.Primarys) + foreach (var pk in primarys) { if (pkidx > 0) sb.Append(" || '+' || "); sb.Append(_commonUtils.FormatSql("{0}", pk.GetDbValue(d))); diff --git a/Providers/FreeSql.Provider.Odbc/Default/Curd/OdbcUpdate.cs b/Providers/FreeSql.Provider.Odbc/Default/Curd/OdbcUpdate.cs index 8ec4bf03..b3b165f3 100644 --- a/Providers/FreeSql.Provider.Odbc/Default/Curd/OdbcUpdate.cs +++ b/Providers/FreeSql.Provider.Odbc/Default/Curd/OdbcUpdate.cs @@ -27,15 +27,15 @@ namespace FreeSql.Odbc.Default protected override void ToSqlCase(StringBuilder caseWhen, ColumnInfo[] primarys) { - if (_table.Primarys.Length == 1) + if (primarys.Length == 1) { - var pk = _table.Primarys.First(); + var pk = primarys.First(); caseWhen.Append(_commonUtils.RereadColumn(pk, _commonUtils.QuoteSqlName(pk.Attribute.Name))); return; } caseWhen.Append("("); var pkidx = 0; - foreach (var pk in _table.Primarys) + foreach (var pk in primarys) { if (pkidx > 0) caseWhen.Append(" + '+' + "); caseWhen.Append(_utils.Adapter.CastSql(_commonUtils.RereadColumn(pk, _commonUtils.QuoteSqlName(pk.Attribute.Name)), _utils.Adapter.MappingOdbcTypeVarChar)); @@ -46,13 +46,13 @@ namespace FreeSql.Odbc.Default protected override void ToSqlWhen(StringBuilder sb, ColumnInfo[] primarys, object d) { - if (_table.Primarys.Length == 1) + if (primarys.Length == 1) { - sb.Append(_commonUtils.FormatSql("{0}", _table.Primarys[0].GetDbValue(d))); + sb.Append(_commonUtils.FormatSql("{0}", primarys[0].GetDbValue(d))); return; } var pkidx = 0; - foreach (var pk in _table.Primarys) + foreach (var pk in primarys) { if (pkidx > 0) sb.Append(" + '+' + "); sb.Append(_utils.Adapter.CastSql(_commonUtils.FormatSql("{0}", pk.GetDbValue(d)), _utils.Adapter.MappingOdbcTypeVarChar)); diff --git a/Providers/FreeSql.Provider.Odbc/KingbaseES/Curd/OdbcKingbaseESUpdate.cs b/Providers/FreeSql.Provider.Odbc/KingbaseES/Curd/OdbcKingbaseESUpdate.cs index 46daf061..3a54ecea 100644 --- a/Providers/FreeSql.Provider.Odbc/KingbaseES/Curd/OdbcKingbaseESUpdate.cs +++ b/Providers/FreeSql.Provider.Odbc/KingbaseES/Curd/OdbcKingbaseESUpdate.cs @@ -71,16 +71,16 @@ namespace FreeSql.Odbc.KingbaseES protected override void ToSqlCase(StringBuilder caseWhen, ColumnInfo[] primarys) { - if (_table.Primarys.Length == 1) + if (primarys.Length == 1) { - var pk = _table.Primarys.First(); + var pk = primarys.First(); if (string.IsNullOrEmpty(InternalTableAlias) == false) caseWhen.Append(InternalTableAlias).Append("."); caseWhen.Append(_commonUtils.RereadColumn(pk, _commonUtils.QuoteSqlName(pk.Attribute.Name))); return; } caseWhen.Append("("); var pkidx = 0; - foreach (var pk in _table.Primarys) + foreach (var pk in primarys) { if (pkidx > 0) caseWhen.Append(" || '+' || "); if (string.IsNullOrEmpty(InternalTableAlias) == false) caseWhen.Append(InternalTableAlias).Append("."); @@ -92,14 +92,14 @@ namespace FreeSql.Odbc.KingbaseES protected override void ToSqlWhen(StringBuilder sb, ColumnInfo[] primarys, object d) { - if (_table.Primarys.Length == 1) + if (primarys.Length == 1) { - sb.Append(_commonUtils.FormatSql("{0}", _table.Primarys[0].GetDbValue(d))); + sb.Append(_commonUtils.FormatSql("{0}", primarys[0].GetDbValue(d))); return; } sb.Append("("); var pkidx = 0; - foreach (var pk in _table.Primarys) + foreach (var pk in primarys) { if (pkidx > 0) sb.Append(" || '+' || "); sb.Append(_commonUtils.FormatSql("{0}", pk.GetDbValue(d))).Append("::text"); diff --git a/Providers/FreeSql.Provider.Odbc/MySql/Curd/OdbcMySqlUpdate.cs b/Providers/FreeSql.Provider.Odbc/MySql/Curd/OdbcMySqlUpdate.cs index 246a24f2..dbfaa014 100644 --- a/Providers/FreeSql.Provider.Odbc/MySql/Curd/OdbcMySqlUpdate.cs +++ b/Providers/FreeSql.Provider.Odbc/MySql/Curd/OdbcMySqlUpdate.cs @@ -70,15 +70,15 @@ namespace FreeSql.Odbc.MySql protected override void ToSqlCase(StringBuilder caseWhen, ColumnInfo[] primarys) { - if (_table.Primarys.Length == 1) + if (primarys.Length == 1) { - var pk = _table.Primarys.First(); + var pk = primarys.First(); caseWhen.Append(_commonUtils.RereadColumn(pk, _commonUtils.QuoteSqlName(pk.Attribute.Name))); return; } caseWhen.Append("CONCAT("); var pkidx = 0; - foreach (var pk in _table.Primarys) + foreach (var pk in primarys) { if (pkidx > 0) caseWhen.Append(", '+', "); caseWhen.Append(_commonUtils.RereadColumn(pk, _commonUtils.QuoteSqlName(pk.Attribute.Name))); @@ -89,14 +89,14 @@ namespace FreeSql.Odbc.MySql protected override void ToSqlWhen(StringBuilder sb, ColumnInfo[] primarys, object d) { - if (_table.Primarys.Length == 1) + if (primarys.Length == 1) { - sb.Append(_commonUtils.FormatSql("{0}", _table.Primarys[0].GetDbValue(d))); + sb.Append(_commonUtils.FormatSql("{0}", primarys[0].GetDbValue(d))); return; } sb.Append("CONCAT("); var pkidx = 0; - foreach (var pk in _table.Primarys) + foreach (var pk in primarys) { if (pkidx > 0) sb.Append(", '+', "); sb.Append(_commonUtils.FormatSql("{0}", pk.GetDbValue(d))); diff --git a/Providers/FreeSql.Provider.Odbc/Oracle/Curd/OdbcOracleUpdate.cs b/Providers/FreeSql.Provider.Odbc/Oracle/Curd/OdbcOracleUpdate.cs index 7633da92..dfe73589 100644 --- a/Providers/FreeSql.Provider.Odbc/Oracle/Curd/OdbcOracleUpdate.cs +++ b/Providers/FreeSql.Provider.Odbc/Oracle/Curd/OdbcOracleUpdate.cs @@ -30,15 +30,15 @@ namespace FreeSql.Odbc.Oracle protected override void ToSqlCase(StringBuilder caseWhen, ColumnInfo[] primarys) { - if (_table.Primarys.Length == 1) + if (primarys.Length == 1) { - var pk = _table.Primarys.First(); + var pk = primarys.First(); caseWhen.Append(_commonUtils.RereadColumn(pk, _commonUtils.QuoteSqlName(pk.Attribute.Name))); return; } caseWhen.Append("("); var pkidx = 0; - foreach (var pk in _table.Primarys) + foreach (var pk in primarys) { if (pkidx > 0) caseWhen.Append(" || '+' || "); caseWhen.Append(_commonUtils.RereadColumn(pk, _commonUtils.QuoteSqlName(pk.Attribute.Name))); @@ -49,16 +49,16 @@ namespace FreeSql.Odbc.Oracle protected override void ToSqlWhen(StringBuilder sb, ColumnInfo[] primarys, object d) { - if (_table.Primarys.Length == 1) + if (primarys.Length == 1) { - if (_table.Primarys[0].Attribute.DbType.Contains("NVARCHAR2")) + if (primarys[0].Attribute.DbType.Contains("NVARCHAR2")) sb.Append("N"); - sb.Append(_commonUtils.FormatSql("{0}", _table.Primarys[0].GetDbValue(d))); + sb.Append(_commonUtils.FormatSql("{0}", primarys[0].GetDbValue(d))); return; } sb.Append("("); var pkidx = 0; - foreach (var pk in _table.Primarys) + foreach (var pk in primarys) { if (pkidx > 0) sb.Append(" || '+' || "); sb.Append(_commonUtils.FormatSql("{0}", pk.GetDbValue(d))); diff --git a/Providers/FreeSql.Provider.Odbc/PostgreSQL/Curd/OdbcPostgreSQLUpdate.cs b/Providers/FreeSql.Provider.Odbc/PostgreSQL/Curd/OdbcPostgreSQLUpdate.cs index d685f84d..e9f402d2 100644 --- a/Providers/FreeSql.Provider.Odbc/PostgreSQL/Curd/OdbcPostgreSQLUpdate.cs +++ b/Providers/FreeSql.Provider.Odbc/PostgreSQL/Curd/OdbcPostgreSQLUpdate.cs @@ -71,16 +71,16 @@ namespace FreeSql.Odbc.PostgreSQL protected override void ToSqlCase(StringBuilder caseWhen, ColumnInfo[] primarys) { - if (_table.Primarys.Length == 1) + if (primarys.Length == 1) { - var pk = _table.Primarys.First(); + var pk = primarys.First(); if (string.IsNullOrEmpty(InternalTableAlias) == false) caseWhen.Append(InternalTableAlias).Append("."); caseWhen.Append(_commonUtils.RereadColumn(pk, _commonUtils.QuoteSqlName(pk.Attribute.Name))); return; } caseWhen.Append("("); var pkidx = 0; - foreach (var pk in _table.Primarys) + foreach (var pk in primarys) { if (pkidx > 0) caseWhen.Append(" || '+' || "); if (string.IsNullOrEmpty(InternalTableAlias) == false) caseWhen.Append(InternalTableAlias).Append("."); @@ -92,14 +92,14 @@ namespace FreeSql.Odbc.PostgreSQL protected override void ToSqlWhen(StringBuilder sb, ColumnInfo[] primarys, object d) { - if (_table.Primarys.Length == 1) + if (primarys.Length == 1) { - sb.Append(_commonUtils.FormatSql("{0}", _table.Primarys[0].GetDbValue(d))); + sb.Append(_commonUtils.FormatSql("{0}", primarys[0].GetDbValue(d))); return; } sb.Append("("); var pkidx = 0; - foreach (var pk in _table.Primarys) + foreach (var pk in primarys) { if (pkidx > 0) sb.Append(" || '+' || "); sb.Append(_commonUtils.FormatSql("{0}", pk.GetDbValue(d))).Append("::text"); diff --git a/Providers/FreeSql.Provider.Odbc/SqlServer/Curd/OdbcSqlServerUpdate.cs b/Providers/FreeSql.Provider.Odbc/SqlServer/Curd/OdbcSqlServerUpdate.cs index 7d371c2e..a7baf1ca 100644 --- a/Providers/FreeSql.Provider.Odbc/SqlServer/Curd/OdbcSqlServerUpdate.cs +++ b/Providers/FreeSql.Provider.Odbc/SqlServer/Curd/OdbcSqlServerUpdate.cs @@ -68,15 +68,15 @@ namespace FreeSql.Odbc.SqlServer protected override void ToSqlCase(StringBuilder caseWhen, ColumnInfo[] primarys) { - if (_table.Primarys.Length == 1) + if (primarys.Length == 1) { - var pk = _table.Primarys.First(); + var pk = primarys.First(); caseWhen.Append(_commonUtils.RereadColumn(pk, _commonUtils.QuoteSqlName(pk.Attribute.Name))); return; } caseWhen.Append("("); var pkidx = 0; - foreach (var pk in _table.Primarys) + foreach (var pk in primarys) { if (pkidx > 0) caseWhen.Append(" + '+' + "); caseWhen.Append("cast(").Append(_commonUtils.RereadColumn(pk, _commonUtils.QuoteSqlName(pk.Attribute.Name))).Append(" as varchar)"); @@ -87,13 +87,13 @@ namespace FreeSql.Odbc.SqlServer protected override void ToSqlWhen(StringBuilder sb, ColumnInfo[] primarys, object d) { - if (_table.Primarys.Length == 1) + if (primarys.Length == 1) { - sb.Append(_commonUtils.FormatSql("{0}", _table.Primarys[0].GetDbValue(d))); + sb.Append(_commonUtils.FormatSql("{0}", primarys[0].GetDbValue(d))); return; } var pkidx = 0; - foreach (var pk in _table.Primarys) + foreach (var pk in primarys) { if (pkidx > 0) sb.Append(" + '+' + "); sb.Append("cast(").Append(_commonUtils.FormatSql("{0}", pk.GetDbValue(d))).Append(" as varchar)"); diff --git a/Providers/FreeSql.Provider.Oracle/Curd/OracleUpdate.cs b/Providers/FreeSql.Provider.Oracle/Curd/OracleUpdate.cs index 3180cb63..0aaa87f6 100644 --- a/Providers/FreeSql.Provider.Oracle/Curd/OracleUpdate.cs +++ b/Providers/FreeSql.Provider.Oracle/Curd/OracleUpdate.cs @@ -30,15 +30,15 @@ namespace FreeSql.Oracle.Curd protected override void ToSqlCase(StringBuilder caseWhen, ColumnInfo[] primarys) { - if (_table.Primarys.Length == 1) + if (primarys.Length == 1) { - var pk = _table.Primarys.First(); + var pk = primarys.First(); caseWhen.Append(_commonUtils.RereadColumn(pk, _commonUtils.QuoteSqlName(pk.Attribute.Name))); return; } caseWhen.Append("("); var pkidx = 0; - foreach (var pk in _table.Primarys) + foreach (var pk in primarys) { if (pkidx > 0) caseWhen.Append(" || '+' || "); caseWhen.Append(_commonUtils.RereadColumn(pk, _commonUtils.QuoteSqlName(pk.Attribute.Name))); @@ -49,16 +49,16 @@ namespace FreeSql.Oracle.Curd protected override void ToSqlWhen(StringBuilder sb, ColumnInfo[] primarys, object d) { - if (_table.Primarys.Length == 1) + if (primarys.Length == 1) { - if (_table.Primarys[0].Attribute.DbType.Contains("NVARCHAR2")) + if (primarys[0].Attribute.DbType.Contains("NVARCHAR2")) sb.Append("N"); - sb.Append(_commonUtils.FormatSql("{0}", _table.Primarys[0].GetDbValue(d))); + sb.Append(_commonUtils.FormatSql("{0}", primarys[0].GetDbValue(d))); return; } sb.Append("("); var pkidx = 0; - foreach (var pk in _table.Primarys) + foreach (var pk in primarys) { if (pkidx > 0) sb.Append(" || '+' || "); sb.Append(_commonUtils.FormatSql("{0}", pk.GetDbValue(d))); diff --git a/Providers/FreeSql.Provider.PostgreSQL/Curd/PostgreSQLUpdate.cs b/Providers/FreeSql.Provider.PostgreSQL/Curd/PostgreSQLUpdate.cs index d1a66ebd..0d7ad243 100644 --- a/Providers/FreeSql.Provider.PostgreSQL/Curd/PostgreSQLUpdate.cs +++ b/Providers/FreeSql.Provider.PostgreSQL/Curd/PostgreSQLUpdate.cs @@ -71,16 +71,16 @@ namespace FreeSql.PostgreSQL.Curd protected override void ToSqlCase(StringBuilder caseWhen, ColumnInfo[] primarys) { - if (_table.Primarys.Length == 1) + if (primarys.Length == 1) { - var pk = _table.Primarys.First(); + var pk = primarys.First(); if (string.IsNullOrEmpty(InternalTableAlias) == false) caseWhen.Append(InternalTableAlias).Append("."); caseWhen.Append(_commonUtils.RereadColumn(pk, _commonUtils.QuoteSqlName(pk.Attribute.Name))); return; } caseWhen.Append("("); var pkidx = 0; - foreach (var pk in _table.Primarys) + foreach (var pk in primarys) { if (pkidx > 0) caseWhen.Append(" || '+' || "); if (string.IsNullOrEmpty(InternalTableAlias) == false) caseWhen.Append(InternalTableAlias).Append("."); @@ -92,14 +92,14 @@ namespace FreeSql.PostgreSQL.Curd protected override void ToSqlWhen(StringBuilder sb, ColumnInfo[] primarys, object d) { - if (_table.Primarys.Length == 1) + if (primarys.Length == 1) { - sb.Append(_commonUtils.FormatSql("{0}", _table.Primarys[0].GetDbValue(d))); + sb.Append(_commonUtils.FormatSql("{0}", primarys[0].GetDbValue(d))); return; } sb.Append("("); var pkidx = 0; - foreach (var pk in _table.Primarys) + foreach (var pk in primarys) { if (pkidx > 0) sb.Append(" || '+' || "); sb.Append(_commonUtils.FormatSql("{0}", pk.GetDbValue(d))).Append("::text"); diff --git a/Providers/FreeSql.Provider.ShenTong/Curd/ShenTongUpdate.cs b/Providers/FreeSql.Provider.ShenTong/Curd/ShenTongUpdate.cs index 1d90f9e1..11bddb24 100644 --- a/Providers/FreeSql.Provider.ShenTong/Curd/ShenTongUpdate.cs +++ b/Providers/FreeSql.Provider.ShenTong/Curd/ShenTongUpdate.cs @@ -72,16 +72,16 @@ namespace FreeSql.ShenTong.Curd protected override void ToSqlCase(StringBuilder caseWhen, ColumnInfo[] primarys) { - if (_table.Primarys.Length == 1) + if (primarys.Length == 1) { - var pk = _table.Primarys.First(); + var pk = primarys.First(); if (string.IsNullOrEmpty(InternalTableAlias) == false) caseWhen.Append(InternalTableAlias).Append("."); caseWhen.Append(_commonUtils.RereadColumn(pk, _commonUtils.QuoteSqlName(pk.Attribute.Name))); return; } caseWhen.Append("("); var pkidx = 0; - foreach (var pk in _table.Primarys) + foreach (var pk in primarys) { if (pkidx > 0) caseWhen.Append(" || '+' || "); if (string.IsNullOrEmpty(InternalTableAlias) == false) caseWhen.Append(InternalTableAlias).Append("."); @@ -93,14 +93,14 @@ namespace FreeSql.ShenTong.Curd protected override void ToSqlWhen(StringBuilder sb, ColumnInfo[] primarys, object d) { - if (_table.Primarys.Length == 1) + if (primarys.Length == 1) { - sb.Append(_commonUtils.FormatSql("{0}", _table.Primarys[0].GetDbValue(d))); + sb.Append(_commonUtils.FormatSql("{0}", primarys[0].GetDbValue(d))); return; } sb.Append("("); var pkidx = 0; - foreach (var pk in _table.Primarys) + foreach (var pk in primarys) { if (pkidx > 0) sb.Append(" || '+' || "); sb.Append(_commonUtils.FormatSql("{0}", pk.GetDbValue(d))).Append("::text"); diff --git a/Providers/FreeSql.Provider.SqlServer/Curd/SqlServerUpdate.cs b/Providers/FreeSql.Provider.SqlServer/Curd/SqlServerUpdate.cs index 45a514aa..c63178cd 100644 --- a/Providers/FreeSql.Provider.SqlServer/Curd/SqlServerUpdate.cs +++ b/Providers/FreeSql.Provider.SqlServer/Curd/SqlServerUpdate.cs @@ -69,15 +69,15 @@ namespace FreeSql.SqlServer.Curd protected override void ToSqlCase(StringBuilder caseWhen, ColumnInfo[] primarys) { - if (_table.Primarys.Length == 1) + if (primarys.Length == 1) { - var pk = _table.Primarys.First(); + var pk = primarys.First(); caseWhen.Append(_commonUtils.RereadColumn(pk, _commonUtils.QuoteSqlName(pk.Attribute.Name))); return; } caseWhen.Append("("); var pkidx = 0; - foreach (var pk in _table.Primarys) + foreach (var pk in primarys) { if (pkidx > 0) caseWhen.Append(" + '+' + "); caseWhen.Append("cast(").Append(_commonUtils.RereadColumn(pk, _commonUtils.QuoteSqlName(pk.Attribute.Name))).Append(" as varchar)"); @@ -88,13 +88,13 @@ namespace FreeSql.SqlServer.Curd protected override void ToSqlWhen(StringBuilder sb, ColumnInfo[] primarys, object d) { - if (_table.Primarys.Length == 1) + if (primarys.Length == 1) { - sb.Append(_commonUtils.FormatSql("{0}", _table.Primarys[0].GetDbValue(d))); + sb.Append(_commonUtils.FormatSql("{0}", primarys[0].GetDbValue(d))); return; } var pkidx = 0; - foreach (var pk in _table.Primarys) + foreach (var pk in primarys) { if (pkidx > 0) sb.Append(" + '+' + "); sb.Append("cast(").Append(_commonUtils.FormatSql("{0}", pk.GetDbValue(d))).Append(" as varchar)"); diff --git a/Providers/FreeSql.Provider.Sqlite/Curd/SqliteUpdate.cs b/Providers/FreeSql.Provider.Sqlite/Curd/SqliteUpdate.cs index 00b44391..6bde5519 100644 --- a/Providers/FreeSql.Provider.Sqlite/Curd/SqliteUpdate.cs +++ b/Providers/FreeSql.Provider.Sqlite/Curd/SqliteUpdate.cs @@ -30,15 +30,15 @@ namespace FreeSql.Sqlite.Curd protected override void ToSqlCase(StringBuilder caseWhen, ColumnInfo[] primarys) { - if (_table.Primarys.Length == 1) + if (primarys.Length == 1) { - var pk = _table.Primarys.First(); + var pk = primarys.First(); caseWhen.Append(_commonUtils.RereadColumn(pk, _commonUtils.QuoteSqlName(pk.Attribute.Name))); return; } caseWhen.Append("("); var pkidx = 0; - foreach (var pk in _table.Primarys) + foreach (var pk in primarys) { if (pkidx > 0) caseWhen.Append(" || '+' || "); caseWhen.Append(_commonUtils.RereadColumn(pk, _commonUtils.QuoteSqlName(pk.Attribute.Name))); @@ -49,14 +49,14 @@ namespace FreeSql.Sqlite.Curd protected override void ToSqlWhen(StringBuilder sb, ColumnInfo[] primarys, object d) { - if (_table.Primarys.Length == 1) + if (primarys.Length == 1) { - sb.Append(_commonUtils.FormatSql("{0}", _table.Primarys[0].GetDbValue(d))); + sb.Append(_commonUtils.FormatSql("{0}", primarys[0].GetDbValue(d))); return; } sb.Append("("); var pkidx = 0; - foreach (var pk in _table.Primarys) + foreach (var pk in primarys) { if (pkidx > 0) sb.Append(" || '+' || "); sb.Append(_commonUtils.FormatSql("{0}", pk.GetDbValue(d)));