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)));