mirror of
https://github.com/nsnail/FreeSql.git
synced 2025-04-22 02:32:50 +08:00
- 增加 IUpdate.SetSource 批量更新时指定主键;#337
This commit is contained in:
parent
afd489c0db
commit
90438e20d8
@ -512,14 +512,5 @@
|
|||||||
<param name="that"></param>
|
<param name="that"></param>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:Microsoft.Extensions.DependencyInjection.FreeSqlRepositoryDependencyInjection.AddFreeRepository(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action{FreeSql.FluentDataFilter},System.Reflection.Assembly[])">
|
|
||||||
<summary>
|
|
||||||
批量注入 Repository,可以参考代码自行调整
|
|
||||||
</summary>
|
|
||||||
<param name="services"></param>
|
|
||||||
<param name="globalDataFilter"></param>
|
|
||||||
<param name="assemblies"></param>
|
|
||||||
<returns></returns>
|
|
||||||
</member>
|
|
||||||
</members>
|
</members>
|
||||||
</doc>
|
</doc>
|
||||||
|
@ -55,6 +55,9 @@ namespace FreeSql.Tests.MySql
|
|||||||
sql = update.SetSource(items).IgnoreColumns(a => new { a.Clicks, a.CreateTime }).ToSql().Replace("\r\n", "");
|
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);
|
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", "");
|
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);
|
Assert.Equal("UPDATE `tb_topic` SET `CreateTime` = ?p_0 WHERE (`Id` IN (1,2,3,4,5,6,7,8,9,10))", sql);
|
||||||
|
|
||||||
|
@ -2726,12 +2726,13 @@
|
|||||||
<param name="source">实体</param>
|
<param name="source">实体</param>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:FreeSql.IUpdate`1.SetSource(System.Collections.Generic.IEnumerable{`0})">
|
<member name="M:FreeSql.IUpdate`1.SetSource(System.Collections.Generic.IEnumerable{`0},System.Linq.Expressions.Expression{System.Func{`0,System.Object}})">
|
||||||
<summary>
|
<summary>
|
||||||
更新数据,设置更新的实体集合<para></para>
|
更新数据,设置更新的实体集合<para></para>
|
||||||
注意:实体必须定义主键,并且最终会自动附加条件 where id in (source.Id)
|
注意:实体必须定义主键,并且最终会自动附加条件 where id in (source.Id)
|
||||||
</summary>
|
</summary>
|
||||||
<param name="source">实体集合</param>
|
<param name="source">实体集合</param>
|
||||||
|
<param name="primarys">根据主键更新,a => a.Name | a => new{a.Name,a.Time} | a => new[]{"name","time"}</param>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
<member name="M:FreeSql.IUpdate`1.SetSourceIgnore(`0,System.Func{System.Object,System.Boolean})">
|
<member name="M:FreeSql.IUpdate`1.SetSourceIgnore(`0,System.Func{System.Object,System.Boolean})">
|
||||||
|
@ -72,8 +72,9 @@ namespace FreeSql
|
|||||||
/// 注意:实体必须定义主键,并且最终会自动附加条件 where id in (source.Id)
|
/// 注意:实体必须定义主键,并且最终会自动附加条件 where id in (source.Id)
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="source">实体集合</param>
|
/// <param name="source">实体集合</param>
|
||||||
|
/// <param name="primarys">根据主键更新,a => a.Name | a => new{a.Name,a.Time} | a => new[]{"name","time"}</param>
|
||||||
/// <returns></returns>
|
/// <returns></returns>
|
||||||
IUpdate<T1> SetSource(IEnumerable<T1> source);
|
IUpdate<T1> SetSource(IEnumerable<T1> source, Expression<Func<T1, object>> primarys = null);
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 更新数据,设置更新的实体,同时设置忽略的列<para></para>
|
/// 更新数据,设置更新的实体,同时设置忽略的列<para></para>
|
||||||
/// 忽略 null 属性:fsql.Update<T>().SetSourceAndIgnore(item, colval => colval == null)<para></para>
|
/// 忽略 null 属性:fsql.Update<T>().SetSourceAndIgnore(item, colval => colval == null)<para></para>
|
||||||
|
@ -108,7 +108,7 @@ namespace FreeSql.Internal.CommonProvider
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
public IDelete<T1> Where(T1 item) => this.Where(new[] { item });
|
public IDelete<T1> Where(T1 item) => this.Where(new[] { item });
|
||||||
public IDelete<T1> Where(IEnumerable<T1> items) => this.Where(_commonUtils.WhereItems(_table, "", items));
|
public IDelete<T1> Where(IEnumerable<T1> items) => this.Where(_commonUtils.WhereItems(_table.Primarys, "", items));
|
||||||
public IDelete<T1> WhereDynamic(object dywhere, bool not = false) => not == false ?
|
public IDelete<T1> WhereDynamic(object dywhere, bool not = false) => not == false ?
|
||||||
this.Where(_commonUtils.WhereObject(_table, "", dywhere)) :
|
this.Where(_commonUtils.WhereObject(_table, "", dywhere)) :
|
||||||
this.Where($"not({_commonUtils.WhereObject(_table, "", dywhere)})");
|
this.Where($"not({_commonUtils.WhereObject(_table, "", dywhere)})");
|
||||||
|
@ -22,6 +22,7 @@ namespace FreeSql.Internal.CommonProvider
|
|||||||
public Dictionary<string, bool> _ignore = new Dictionary<string, bool>(StringComparer.CurrentCultureIgnoreCase);
|
public Dictionary<string, bool> _ignore = new Dictionary<string, bool>(StringComparer.CurrentCultureIgnoreCase);
|
||||||
public Dictionary<string, bool> _auditValueChangedDict = new Dictionary<string, bool>(StringComparer.CurrentCultureIgnoreCase);
|
public Dictionary<string, bool> _auditValueChangedDict = new Dictionary<string, bool>(StringComparer.CurrentCultureIgnoreCase);
|
||||||
public TableInfo _table;
|
public TableInfo _table;
|
||||||
|
public ColumnInfo[] _tempPrimarys;
|
||||||
public Func<string, string> _tableRule;
|
public Func<string, string> _tableRule;
|
||||||
public StringBuilder _where = new StringBuilder();
|
public StringBuilder _where = new StringBuilder();
|
||||||
public List<GlobalFilter.Item> _whereGlobalFilter;
|
public List<GlobalFilter.Item> _whereGlobalFilter;
|
||||||
@ -45,6 +46,7 @@ namespace FreeSql.Internal.CommonProvider
|
|||||||
_commonUtils = commonUtils;
|
_commonUtils = commonUtils;
|
||||||
_commonExpression = commonExpression;
|
_commonExpression = commonExpression;
|
||||||
_table = _commonUtils.GetTableByEntity(typeof(T1));
|
_table = _commonUtils.GetTableByEntity(typeof(T1));
|
||||||
|
_tempPrimarys = _table.Primarys;
|
||||||
_noneParameter = _orm.CodeFirst.IsNoneCommandParameter;
|
_noneParameter = _orm.CodeFirst.IsNoneCommandParameter;
|
||||||
this.Where(_commonUtils.WhereObject(_table, "", dywhere));
|
this.Where(_commonUtils.WhereObject(_table, "", dywhere));
|
||||||
if (_orm.CodeFirst.IsAutoSyncStructure && typeof(T1) != typeof(object)) _orm.CodeFirst.SyncStructure<T1>();
|
if (_orm.CodeFirst.IsAutoSyncStructure && typeof(T1) != typeof(object)) _orm.CodeFirst.SyncStructure<T1>();
|
||||||
@ -410,11 +412,17 @@ namespace FreeSql.Internal.CommonProvider
|
|||||||
}
|
}
|
||||||
|
|
||||||
public IUpdate<T1> SetSource(T1 source) => this.SetSource(new[] { source });
|
public IUpdate<T1> SetSource(T1 source) => this.SetSource(new[] { source });
|
||||||
public IUpdate<T1> SetSource(IEnumerable<T1> source)
|
public IUpdate<T1> SetSource(IEnumerable<T1> source, Expression<Func<T1, object>> tempPrimarys = null)
|
||||||
{
|
{
|
||||||
if (source == null || source.Any() == false) return this;
|
if (source == null || source.Any() == false) return this;
|
||||||
AuditDataValue(this, source, _orm, _table, _auditValueChangedDict);
|
AuditDataValue(this, source, _orm, _table, _auditValueChangedDict);
|
||||||
_source.AddRange(source.Where(a => a != null));
|
_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;
|
return this;
|
||||||
}
|
}
|
||||||
public IUpdate<T1> SetSourceIgnore(T1 source, Func<object, bool> ignore)
|
public IUpdate<T1> SetSourceIgnore(T1 source, Func<object, bool> ignore)
|
||||||
@ -562,7 +570,7 @@ namespace FreeSql.Internal.CommonProvider
|
|||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
public IUpdate<T1> Where(T1 item) => this.Where(new[] { item });
|
public IUpdate<T1> Where(T1 item) => this.Where(new[] { item });
|
||||||
public IUpdate<T1> Where(IEnumerable<T1> items) => this.Where(_commonUtils.WhereItems(_table, "", items));
|
public IUpdate<T1> Where(IEnumerable<T1> items) => this.Where(_commonUtils.WhereItems(_table.Primarys, "", items));
|
||||||
public IUpdate<T1> WhereDynamic(object dywhere, bool not = false) => not == false ?
|
public IUpdate<T1> WhereDynamic(object dywhere, bool not = false) => not == false ?
|
||||||
this.Where(_commonUtils.WhereObject(_table, "", dywhere)) :
|
this.Where(_commonUtils.WhereObject(_table, "", dywhere)) :
|
||||||
this.Where($"not({_commonUtils.WhereObject(_table, "", dywhere)})");
|
this.Where($"not({_commonUtils.WhereObject(_table, "", dywhere)})");
|
||||||
@ -608,7 +616,7 @@ namespace FreeSql.Internal.CommonProvider
|
|||||||
{
|
{
|
||||||
var caseWhen = new StringBuilder();
|
var caseWhen = new StringBuilder();
|
||||||
caseWhen.Append("CASE ");
|
caseWhen.Append("CASE ");
|
||||||
ToSqlCase(caseWhen, _table.Primarys);
|
ToSqlCase(caseWhen, _tempPrimarys);
|
||||||
var cw = caseWhen.ToString();
|
var cw = caseWhen.ToString();
|
||||||
|
|
||||||
var col = _table.ColumnsByCs[CsName];
|
var col = _table.ColumnsByCs[CsName];
|
||||||
@ -620,7 +628,7 @@ namespace FreeSql.Internal.CommonProvider
|
|||||||
foreach (var d in _source)
|
foreach (var d in _source)
|
||||||
{
|
{
|
||||||
cwsb.Append(" \r\nWHEN ");
|
cwsb.Append(" \r\nWHEN ");
|
||||||
ToSqlWhen(cwsb, _table.Primarys, d);
|
ToSqlWhen(cwsb, _tempPrimarys, d);
|
||||||
cwsb.Append(" THEN ");
|
cwsb.Append(" THEN ");
|
||||||
var val = col.GetDbValue(d);
|
var val = col.GetDbValue(d);
|
||||||
cwsb.Append(thenValue(_commonUtils.RewriteColumn(col, _commonUtils.GetNoneParamaterSqlValue(_paramsSource, "u", col, col.Attribute.MapType, val))));
|
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)
|
foreach (var col in _table.Columns.Values)
|
||||||
{
|
{
|
||||||
if (col.Attribute.IsPrimary) continue;
|
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 (col.Attribute.IsIdentity == false && col.Attribute.IsVersion == false && _ignore.ContainsKey(col.Attribute.Name) == false)
|
||||||
{
|
{
|
||||||
if (colidx > 0) sb.Append(", ");
|
if (colidx > 0) sb.Append(", ");
|
||||||
@ -710,11 +719,11 @@ namespace FreeSql.Internal.CommonProvider
|
|||||||
}
|
}
|
||||||
else if (_source.Count > 1)
|
else if (_source.Count > 1)
|
||||||
{ //批量保存 Source
|
{ //批量保存 Source
|
||||||
if (_table.Primarys.Any() == false) return null;
|
if (_tempPrimarys.Any() == false) return null;
|
||||||
|
|
||||||
var caseWhen = new StringBuilder();
|
var caseWhen = new StringBuilder();
|
||||||
caseWhen.Append("CASE ");
|
caseWhen.Append("CASE ");
|
||||||
ToSqlCase(caseWhen, _table.Primarys);
|
ToSqlCase(caseWhen, _tempPrimarys);
|
||||||
var cw = caseWhen.ToString();
|
var cw = caseWhen.ToString();
|
||||||
|
|
||||||
_paramsSource.Clear();
|
_paramsSource.Clear();
|
||||||
@ -722,6 +731,7 @@ namespace FreeSql.Internal.CommonProvider
|
|||||||
foreach (var col in _table.Columns.Values)
|
foreach (var col in _table.Columns.Values)
|
||||||
{
|
{
|
||||||
if (col.Attribute.IsPrimary) continue;
|
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 (col.Attribute.IsIdentity == false && col.Attribute.IsVersion == false && _ignore.ContainsKey(col.Attribute.Name) == false)
|
||||||
{
|
{
|
||||||
if (colidx > 0) sb.Append(", ");
|
if (colidx > 0) sb.Append(", ");
|
||||||
@ -736,7 +746,7 @@ namespace FreeSql.Internal.CommonProvider
|
|||||||
foreach (var d in _source)
|
foreach (var d in _source)
|
||||||
{
|
{
|
||||||
cwsb.Append(" \r\nWHEN ");
|
cwsb.Append(" \r\nWHEN ");
|
||||||
ToSqlWhen(cwsb, _table.Primarys, d);
|
ToSqlWhen(cwsb, _tempPrimarys, d);
|
||||||
cwsb.Append(" THEN ");
|
cwsb.Append(" THEN ");
|
||||||
var val = col.GetDbValue(d);
|
var val = col.GetDbValue(d);
|
||||||
|
|
||||||
@ -789,8 +799,8 @@ namespace FreeSql.Internal.CommonProvider
|
|||||||
sb.Append(" \r\nWHERE ");
|
sb.Append(" \r\nWHERE ");
|
||||||
if (_source.Any())
|
if (_source.Any())
|
||||||
{
|
{
|
||||||
if (_table.Primarys.Any() == false) throw new ArgumentException($"{_table.Type.DisplayCsharp()} 没有定义主键,无法使用 SetSource,请尝试 SetDto");
|
if (_tempPrimarys.Any() == false) throw new ArgumentException($"{_table.Type.DisplayCsharp()} 没有定义主键,无法使用 SetSource,请尝试 SetDto");
|
||||||
sb.Append('(').Append(_commonUtils.WhereItems(_table, "", _source)).Append(')');
|
sb.Append('(').Append(_commonUtils.WhereItems(_tempPrimarys, "", _source)).Append(')');
|
||||||
}
|
}
|
||||||
|
|
||||||
if (_where.Length > 0)
|
if (_where.Length > 0)
|
||||||
|
@ -367,14 +367,14 @@ namespace FreeSql.Internal
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public string WhereItems<TEntity>(TableInfo table, string aliasAndDot, IEnumerable<TEntity> items)
|
public string WhereItems<TEntity>(ColumnInfo[] primarys, string aliasAndDot, IEnumerable<TEntity> items)
|
||||||
{
|
{
|
||||||
if (items == null || items.Any() == false) return null;
|
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 its = items.Where(a => a != null).ToArray();
|
||||||
|
|
||||||
var pk1 = table.Primarys.FirstOrDefault();
|
var pk1 = primarys.FirstOrDefault();
|
||||||
if (table.Primarys.Length == 1)
|
if (primarys.Length == 1)
|
||||||
{
|
{
|
||||||
var sbin = new StringBuilder();
|
var sbin = new StringBuilder();
|
||||||
sbin.Append(aliasAndDot).Append(this.QuoteSqlName(pk1.Attribute.Name));
|
sbin.Append(aliasAndDot).Append(this.QuoteSqlName(pk1.Attribute.Name));
|
||||||
@ -390,7 +390,7 @@ namespace FreeSql.Internal
|
|||||||
foreach (var item in its)
|
foreach (var item in its)
|
||||||
{
|
{
|
||||||
var filter = "";
|
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)))}";
|
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 (string.IsNullOrEmpty(filter)) continue;
|
||||||
if (sb != null)
|
if (sb != null)
|
||||||
|
@ -27,15 +27,15 @@ namespace FreeSql.Custom
|
|||||||
|
|
||||||
protected override void ToSqlCase(StringBuilder caseWhen, ColumnInfo[] primarys)
|
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)));
|
caseWhen.Append(_commonUtils.RereadColumn(pk, _commonUtils.QuoteSqlName(pk.Attribute.Name)));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
caseWhen.Append("(");
|
caseWhen.Append("(");
|
||||||
var pkidx = 0;
|
var pkidx = 0;
|
||||||
foreach (var pk in _table.Primarys)
|
foreach (var pk in primarys)
|
||||||
{
|
{
|
||||||
if (pkidx > 0) caseWhen.Append(" + '+' + ");
|
if (pkidx > 0) caseWhen.Append(" + '+' + ");
|
||||||
caseWhen.Append(_utils.Adapter.CastSql(_commonUtils.RereadColumn(pk, _commonUtils.QuoteSqlName(pk.Attribute.Name)), _utils.Adapter.MappingDbTypeVarChar));
|
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)
|
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;
|
return;
|
||||||
}
|
}
|
||||||
var pkidx = 0;
|
var pkidx = 0;
|
||||||
foreach (var pk in _table.Primarys)
|
foreach (var pk in primarys)
|
||||||
{
|
{
|
||||||
if (pkidx > 0) sb.Append(" + '+' + ");
|
if (pkidx > 0) sb.Append(" + '+' + ");
|
||||||
sb.Append(_utils.Adapter.CastSql(_commonUtils.FormatSql("{0}", pk.GetDbValue(d)), _utils.Adapter.MappingDbTypeVarChar));
|
sb.Append(_utils.Adapter.CastSql(_commonUtils.FormatSql("{0}", pk.GetDbValue(d)), _utils.Adapter.MappingDbTypeVarChar));
|
||||||
|
@ -29,15 +29,15 @@ namespace FreeSql.Dameng.Curd
|
|||||||
|
|
||||||
protected override void ToSqlCase(StringBuilder caseWhen, ColumnInfo[] primarys)
|
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)));
|
caseWhen.Append(_commonUtils.RereadColumn(pk, _commonUtils.QuoteSqlName(pk.Attribute.Name)));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
caseWhen.Append("(");
|
caseWhen.Append("(");
|
||||||
var pkidx = 0;
|
var pkidx = 0;
|
||||||
foreach (var pk in _table.Primarys)
|
foreach (var pk in primarys)
|
||||||
{
|
{
|
||||||
if (pkidx > 0) caseWhen.Append(" || '+' || ");
|
if (pkidx > 0) caseWhen.Append(" || '+' || ");
|
||||||
caseWhen.Append(_commonUtils.RereadColumn(pk, _commonUtils.QuoteSqlName(pk.Attribute.Name)));
|
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)
|
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;
|
return;
|
||||||
}
|
}
|
||||||
sb.Append("(");
|
sb.Append("(");
|
||||||
var pkidx = 0;
|
var pkidx = 0;
|
||||||
foreach (var pk in _table.Primarys)
|
foreach (var pk in primarys)
|
||||||
{
|
{
|
||||||
if (pkidx > 0) sb.Append(" || '+' || ");
|
if (pkidx > 0) sb.Append(" || '+' || ");
|
||||||
sb.Append(_commonUtils.FormatSql("{0}", pk.GetDbValue(d)));
|
sb.Append(_commonUtils.FormatSql("{0}", pk.GetDbValue(d)));
|
||||||
|
@ -63,15 +63,15 @@ namespace FreeSql.Firebird.Curd
|
|||||||
|
|
||||||
protected override void ToSqlCase(StringBuilder caseWhen, ColumnInfo[] primarys)
|
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)));
|
caseWhen.Append(_commonUtils.RereadColumn(pk, _commonUtils.QuoteSqlName(pk.Attribute.Name)));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
caseWhen.Append("CONCAT(");
|
caseWhen.Append("CONCAT(");
|
||||||
var pkidx = 0;
|
var pkidx = 0;
|
||||||
foreach (var pk in _table.Primarys)
|
foreach (var pk in primarys)
|
||||||
{
|
{
|
||||||
if (pkidx > 0) caseWhen.Append(", '+', ");
|
if (pkidx > 0) caseWhen.Append(", '+', ");
|
||||||
caseWhen.Append(_commonUtils.RereadColumn(pk, _commonUtils.QuoteSqlName(pk.Attribute.Name)));
|
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)
|
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;
|
return;
|
||||||
}
|
}
|
||||||
sb.Append("CONCAT(");
|
sb.Append("CONCAT(");
|
||||||
var pkidx = 0;
|
var pkidx = 0;
|
||||||
foreach (var pk in _table.Primarys)
|
foreach (var pk in primarys)
|
||||||
{
|
{
|
||||||
if (pkidx > 0) sb.Append(", '+', ");
|
if (pkidx > 0) sb.Append(", '+', ");
|
||||||
sb.Append(_commonUtils.FormatSql("{0}", pk.GetDbValue(d)));
|
sb.Append(_commonUtils.FormatSql("{0}", pk.GetDbValue(d)));
|
||||||
|
@ -71,16 +71,16 @@ namespace FreeSql.KingbaseES
|
|||||||
|
|
||||||
protected override void ToSqlCase(StringBuilder caseWhen, ColumnInfo[] primarys)
|
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(".");
|
if (string.IsNullOrEmpty(InternalTableAlias) == false) caseWhen.Append(InternalTableAlias).Append(".");
|
||||||
caseWhen.Append(_commonUtils.RereadColumn(pk, _commonUtils.QuoteSqlName(pk.Attribute.Name)));
|
caseWhen.Append(_commonUtils.RereadColumn(pk, _commonUtils.QuoteSqlName(pk.Attribute.Name)));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
caseWhen.Append("(");
|
caseWhen.Append("(");
|
||||||
var pkidx = 0;
|
var pkidx = 0;
|
||||||
foreach (var pk in _table.Primarys)
|
foreach (var pk in primarys)
|
||||||
{
|
{
|
||||||
if (pkidx > 0) caseWhen.Append(" || '+' || ");
|
if (pkidx > 0) caseWhen.Append(" || '+' || ");
|
||||||
if (string.IsNullOrEmpty(InternalTableAlias) == false) caseWhen.Append(InternalTableAlias).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)
|
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;
|
return;
|
||||||
}
|
}
|
||||||
sb.Append("(");
|
sb.Append("(");
|
||||||
var pkidx = 0;
|
var pkidx = 0;
|
||||||
foreach (var pk in _table.Primarys)
|
foreach (var pk in primarys)
|
||||||
{
|
{
|
||||||
if (pkidx > 0) sb.Append(" || '+' || ");
|
if (pkidx > 0) sb.Append(" || '+' || ");
|
||||||
sb.Append(_commonUtils.FormatSql("{0}", pk.GetDbValue(d))).Append("::text");
|
sb.Append(_commonUtils.FormatSql("{0}", pk.GetDbValue(d))).Append("::text");
|
||||||
|
@ -34,15 +34,15 @@ namespace FreeSql.MsAccess.Curd
|
|||||||
|
|
||||||
protected override void ToSqlCase(StringBuilder caseWhen, ColumnInfo[] primarys)
|
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)));
|
caseWhen.Append(_commonUtils.RereadColumn(pk, _commonUtils.QuoteSqlName(pk.Attribute.Name)));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
caseWhen.Append("(");
|
caseWhen.Append("(");
|
||||||
var pkidx = 0;
|
var pkidx = 0;
|
||||||
foreach (var pk in _table.Primarys)
|
foreach (var pk in primarys)
|
||||||
{
|
{
|
||||||
if (pkidx > 0) caseWhen.Append(" + '+' + ");
|
if (pkidx > 0) caseWhen.Append(" + '+' + ");
|
||||||
caseWhen.Append(MsAccessUtils.GetCastSql(_commonUtils.RereadColumn(pk, _commonUtils.QuoteSqlName(pk.Attribute.Name)), typeof(string)));
|
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)
|
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;
|
return;
|
||||||
}
|
}
|
||||||
var pkidx = 0;
|
var pkidx = 0;
|
||||||
foreach (var pk in _table.Primarys)
|
foreach (var pk in primarys)
|
||||||
{
|
{
|
||||||
if (pkidx > 0) sb.Append(" + '+' + ");
|
if (pkidx > 0) sb.Append(" + '+' + ");
|
||||||
sb.Append(MsAccessUtils.GetCastSql(_commonUtils.FormatSql("{0}", pk.GetDbValue(d)), typeof(string)));
|
sb.Append(MsAccessUtils.GetCastSql(_commonUtils.FormatSql("{0}", pk.GetDbValue(d)), typeof(string)));
|
||||||
|
@ -70,15 +70,15 @@ namespace FreeSql.MySql.Curd
|
|||||||
|
|
||||||
protected override void ToSqlCase(StringBuilder caseWhen, ColumnInfo[] primarys)
|
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)));
|
caseWhen.Append(_commonUtils.RereadColumn(pk, _commonUtils.QuoteSqlName(pk.Attribute.Name)));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
caseWhen.Append("CONCAT(");
|
caseWhen.Append("CONCAT(");
|
||||||
var pkidx = 0;
|
var pkidx = 0;
|
||||||
foreach (var pk in _table.Primarys)
|
foreach (var pk in primarys)
|
||||||
{
|
{
|
||||||
if (pkidx > 0) caseWhen.Append(", '+', ");
|
if (pkidx > 0) caseWhen.Append(", '+', ");
|
||||||
caseWhen.Append(_commonUtils.RereadColumn(pk, _commonUtils.QuoteSqlName(pk.Attribute.Name)));
|
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)
|
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;
|
return;
|
||||||
}
|
}
|
||||||
sb.Append("CONCAT(");
|
sb.Append("CONCAT(");
|
||||||
var pkidx = 0;
|
var pkidx = 0;
|
||||||
foreach (var pk in _table.Primarys)
|
foreach (var pk in primarys)
|
||||||
{
|
{
|
||||||
if (pkidx > 0) sb.Append(", '+', ");
|
if (pkidx > 0) sb.Append(", '+', ");
|
||||||
sb.Append(_commonUtils.FormatSql("{0}", pk.GetDbValue(d)));
|
sb.Append(_commonUtils.FormatSql("{0}", pk.GetDbValue(d)));
|
||||||
|
@ -30,15 +30,15 @@ namespace FreeSql.Odbc.Dameng
|
|||||||
|
|
||||||
protected override void ToSqlCase(StringBuilder caseWhen, ColumnInfo[] primarys)
|
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)));
|
caseWhen.Append(_commonUtils.RereadColumn(pk, _commonUtils.QuoteSqlName(pk.Attribute.Name)));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
caseWhen.Append("(");
|
caseWhen.Append("(");
|
||||||
var pkidx = 0;
|
var pkidx = 0;
|
||||||
foreach (var pk in _table.Primarys)
|
foreach (var pk in primarys)
|
||||||
{
|
{
|
||||||
if (pkidx > 0) caseWhen.Append(" || '+' || ");
|
if (pkidx > 0) caseWhen.Append(" || '+' || ");
|
||||||
caseWhen.Append(_commonUtils.RereadColumn(pk, _commonUtils.QuoteSqlName(pk.Attribute.Name)));
|
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)
|
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;
|
return;
|
||||||
}
|
}
|
||||||
sb.Append("(");
|
sb.Append("(");
|
||||||
var pkidx = 0;
|
var pkidx = 0;
|
||||||
foreach (var pk in _table.Primarys)
|
foreach (var pk in primarys)
|
||||||
{
|
{
|
||||||
if (pkidx > 0) sb.Append(" || '+' || ");
|
if (pkidx > 0) sb.Append(" || '+' || ");
|
||||||
sb.Append(_commonUtils.FormatSql("{0}", pk.GetDbValue(d)));
|
sb.Append(_commonUtils.FormatSql("{0}", pk.GetDbValue(d)));
|
||||||
|
@ -27,15 +27,15 @@ namespace FreeSql.Odbc.Default
|
|||||||
|
|
||||||
protected override void ToSqlCase(StringBuilder caseWhen, ColumnInfo[] primarys)
|
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)));
|
caseWhen.Append(_commonUtils.RereadColumn(pk, _commonUtils.QuoteSqlName(pk.Attribute.Name)));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
caseWhen.Append("(");
|
caseWhen.Append("(");
|
||||||
var pkidx = 0;
|
var pkidx = 0;
|
||||||
foreach (var pk in _table.Primarys)
|
foreach (var pk in primarys)
|
||||||
{
|
{
|
||||||
if (pkidx > 0) caseWhen.Append(" + '+' + ");
|
if (pkidx > 0) caseWhen.Append(" + '+' + ");
|
||||||
caseWhen.Append(_utils.Adapter.CastSql(_commonUtils.RereadColumn(pk, _commonUtils.QuoteSqlName(pk.Attribute.Name)), _utils.Adapter.MappingOdbcTypeVarChar));
|
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)
|
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;
|
return;
|
||||||
}
|
}
|
||||||
var pkidx = 0;
|
var pkidx = 0;
|
||||||
foreach (var pk in _table.Primarys)
|
foreach (var pk in primarys)
|
||||||
{
|
{
|
||||||
if (pkidx > 0) sb.Append(" + '+' + ");
|
if (pkidx > 0) sb.Append(" + '+' + ");
|
||||||
sb.Append(_utils.Adapter.CastSql(_commonUtils.FormatSql("{0}", pk.GetDbValue(d)), _utils.Adapter.MappingOdbcTypeVarChar));
|
sb.Append(_utils.Adapter.CastSql(_commonUtils.FormatSql("{0}", pk.GetDbValue(d)), _utils.Adapter.MappingOdbcTypeVarChar));
|
||||||
|
@ -71,16 +71,16 @@ namespace FreeSql.Odbc.KingbaseES
|
|||||||
|
|
||||||
protected override void ToSqlCase(StringBuilder caseWhen, ColumnInfo[] primarys)
|
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(".");
|
if (string.IsNullOrEmpty(InternalTableAlias) == false) caseWhen.Append(InternalTableAlias).Append(".");
|
||||||
caseWhen.Append(_commonUtils.RereadColumn(pk, _commonUtils.QuoteSqlName(pk.Attribute.Name)));
|
caseWhen.Append(_commonUtils.RereadColumn(pk, _commonUtils.QuoteSqlName(pk.Attribute.Name)));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
caseWhen.Append("(");
|
caseWhen.Append("(");
|
||||||
var pkidx = 0;
|
var pkidx = 0;
|
||||||
foreach (var pk in _table.Primarys)
|
foreach (var pk in primarys)
|
||||||
{
|
{
|
||||||
if (pkidx > 0) caseWhen.Append(" || '+' || ");
|
if (pkidx > 0) caseWhen.Append(" || '+' || ");
|
||||||
if (string.IsNullOrEmpty(InternalTableAlias) == false) caseWhen.Append(InternalTableAlias).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)
|
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;
|
return;
|
||||||
}
|
}
|
||||||
sb.Append("(");
|
sb.Append("(");
|
||||||
var pkidx = 0;
|
var pkidx = 0;
|
||||||
foreach (var pk in _table.Primarys)
|
foreach (var pk in primarys)
|
||||||
{
|
{
|
||||||
if (pkidx > 0) sb.Append(" || '+' || ");
|
if (pkidx > 0) sb.Append(" || '+' || ");
|
||||||
sb.Append(_commonUtils.FormatSql("{0}", pk.GetDbValue(d))).Append("::text");
|
sb.Append(_commonUtils.FormatSql("{0}", pk.GetDbValue(d))).Append("::text");
|
||||||
|
@ -70,15 +70,15 @@ namespace FreeSql.Odbc.MySql
|
|||||||
|
|
||||||
protected override void ToSqlCase(StringBuilder caseWhen, ColumnInfo[] primarys)
|
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)));
|
caseWhen.Append(_commonUtils.RereadColumn(pk, _commonUtils.QuoteSqlName(pk.Attribute.Name)));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
caseWhen.Append("CONCAT(");
|
caseWhen.Append("CONCAT(");
|
||||||
var pkidx = 0;
|
var pkidx = 0;
|
||||||
foreach (var pk in _table.Primarys)
|
foreach (var pk in primarys)
|
||||||
{
|
{
|
||||||
if (pkidx > 0) caseWhen.Append(", '+', ");
|
if (pkidx > 0) caseWhen.Append(", '+', ");
|
||||||
caseWhen.Append(_commonUtils.RereadColumn(pk, _commonUtils.QuoteSqlName(pk.Attribute.Name)));
|
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)
|
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;
|
return;
|
||||||
}
|
}
|
||||||
sb.Append("CONCAT(");
|
sb.Append("CONCAT(");
|
||||||
var pkidx = 0;
|
var pkidx = 0;
|
||||||
foreach (var pk in _table.Primarys)
|
foreach (var pk in primarys)
|
||||||
{
|
{
|
||||||
if (pkidx > 0) sb.Append(", '+', ");
|
if (pkidx > 0) sb.Append(", '+', ");
|
||||||
sb.Append(_commonUtils.FormatSql("{0}", pk.GetDbValue(d)));
|
sb.Append(_commonUtils.FormatSql("{0}", pk.GetDbValue(d)));
|
||||||
|
@ -30,15 +30,15 @@ namespace FreeSql.Odbc.Oracle
|
|||||||
|
|
||||||
protected override void ToSqlCase(StringBuilder caseWhen, ColumnInfo[] primarys)
|
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)));
|
caseWhen.Append(_commonUtils.RereadColumn(pk, _commonUtils.QuoteSqlName(pk.Attribute.Name)));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
caseWhen.Append("(");
|
caseWhen.Append("(");
|
||||||
var pkidx = 0;
|
var pkidx = 0;
|
||||||
foreach (var pk in _table.Primarys)
|
foreach (var pk in primarys)
|
||||||
{
|
{
|
||||||
if (pkidx > 0) caseWhen.Append(" || '+' || ");
|
if (pkidx > 0) caseWhen.Append(" || '+' || ");
|
||||||
caseWhen.Append(_commonUtils.RereadColumn(pk, _commonUtils.QuoteSqlName(pk.Attribute.Name)));
|
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)
|
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("N");
|
||||||
sb.Append(_commonUtils.FormatSql("{0}", _table.Primarys[0].GetDbValue(d)));
|
sb.Append(_commonUtils.FormatSql("{0}", primarys[0].GetDbValue(d)));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
sb.Append("(");
|
sb.Append("(");
|
||||||
var pkidx = 0;
|
var pkidx = 0;
|
||||||
foreach (var pk in _table.Primarys)
|
foreach (var pk in primarys)
|
||||||
{
|
{
|
||||||
if (pkidx > 0) sb.Append(" || '+' || ");
|
if (pkidx > 0) sb.Append(" || '+' || ");
|
||||||
sb.Append(_commonUtils.FormatSql("{0}", pk.GetDbValue(d)));
|
sb.Append(_commonUtils.FormatSql("{0}", pk.GetDbValue(d)));
|
||||||
|
@ -71,16 +71,16 @@ namespace FreeSql.Odbc.PostgreSQL
|
|||||||
|
|
||||||
protected override void ToSqlCase(StringBuilder caseWhen, ColumnInfo[] primarys)
|
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(".");
|
if (string.IsNullOrEmpty(InternalTableAlias) == false) caseWhen.Append(InternalTableAlias).Append(".");
|
||||||
caseWhen.Append(_commonUtils.RereadColumn(pk, _commonUtils.QuoteSqlName(pk.Attribute.Name)));
|
caseWhen.Append(_commonUtils.RereadColumn(pk, _commonUtils.QuoteSqlName(pk.Attribute.Name)));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
caseWhen.Append("(");
|
caseWhen.Append("(");
|
||||||
var pkidx = 0;
|
var pkidx = 0;
|
||||||
foreach (var pk in _table.Primarys)
|
foreach (var pk in primarys)
|
||||||
{
|
{
|
||||||
if (pkidx > 0) caseWhen.Append(" || '+' || ");
|
if (pkidx > 0) caseWhen.Append(" || '+' || ");
|
||||||
if (string.IsNullOrEmpty(InternalTableAlias) == false) caseWhen.Append(InternalTableAlias).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)
|
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;
|
return;
|
||||||
}
|
}
|
||||||
sb.Append("(");
|
sb.Append("(");
|
||||||
var pkidx = 0;
|
var pkidx = 0;
|
||||||
foreach (var pk in _table.Primarys)
|
foreach (var pk in primarys)
|
||||||
{
|
{
|
||||||
if (pkidx > 0) sb.Append(" || '+' || ");
|
if (pkidx > 0) sb.Append(" || '+' || ");
|
||||||
sb.Append(_commonUtils.FormatSql("{0}", pk.GetDbValue(d))).Append("::text");
|
sb.Append(_commonUtils.FormatSql("{0}", pk.GetDbValue(d))).Append("::text");
|
||||||
|
@ -68,15 +68,15 @@ namespace FreeSql.Odbc.SqlServer
|
|||||||
|
|
||||||
protected override void ToSqlCase(StringBuilder caseWhen, ColumnInfo[] primarys)
|
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)));
|
caseWhen.Append(_commonUtils.RereadColumn(pk, _commonUtils.QuoteSqlName(pk.Attribute.Name)));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
caseWhen.Append("(");
|
caseWhen.Append("(");
|
||||||
var pkidx = 0;
|
var pkidx = 0;
|
||||||
foreach (var pk in _table.Primarys)
|
foreach (var pk in primarys)
|
||||||
{
|
{
|
||||||
if (pkidx > 0) caseWhen.Append(" + '+' + ");
|
if (pkidx > 0) caseWhen.Append(" + '+' + ");
|
||||||
caseWhen.Append("cast(").Append(_commonUtils.RereadColumn(pk, _commonUtils.QuoteSqlName(pk.Attribute.Name))).Append(" as varchar)");
|
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)
|
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;
|
return;
|
||||||
}
|
}
|
||||||
var pkidx = 0;
|
var pkidx = 0;
|
||||||
foreach (var pk in _table.Primarys)
|
foreach (var pk in primarys)
|
||||||
{
|
{
|
||||||
if (pkidx > 0) sb.Append(" + '+' + ");
|
if (pkidx > 0) sb.Append(" + '+' + ");
|
||||||
sb.Append("cast(").Append(_commonUtils.FormatSql("{0}", pk.GetDbValue(d))).Append(" as varchar)");
|
sb.Append("cast(").Append(_commonUtils.FormatSql("{0}", pk.GetDbValue(d))).Append(" as varchar)");
|
||||||
|
@ -30,15 +30,15 @@ namespace FreeSql.Oracle.Curd
|
|||||||
|
|
||||||
protected override void ToSqlCase(StringBuilder caseWhen, ColumnInfo[] primarys)
|
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)));
|
caseWhen.Append(_commonUtils.RereadColumn(pk, _commonUtils.QuoteSqlName(pk.Attribute.Name)));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
caseWhen.Append("(");
|
caseWhen.Append("(");
|
||||||
var pkidx = 0;
|
var pkidx = 0;
|
||||||
foreach (var pk in _table.Primarys)
|
foreach (var pk in primarys)
|
||||||
{
|
{
|
||||||
if (pkidx > 0) caseWhen.Append(" || '+' || ");
|
if (pkidx > 0) caseWhen.Append(" || '+' || ");
|
||||||
caseWhen.Append(_commonUtils.RereadColumn(pk, _commonUtils.QuoteSqlName(pk.Attribute.Name)));
|
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)
|
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("N");
|
||||||
sb.Append(_commonUtils.FormatSql("{0}", _table.Primarys[0].GetDbValue(d)));
|
sb.Append(_commonUtils.FormatSql("{0}", primarys[0].GetDbValue(d)));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
sb.Append("(");
|
sb.Append("(");
|
||||||
var pkidx = 0;
|
var pkidx = 0;
|
||||||
foreach (var pk in _table.Primarys)
|
foreach (var pk in primarys)
|
||||||
{
|
{
|
||||||
if (pkidx > 0) sb.Append(" || '+' || ");
|
if (pkidx > 0) sb.Append(" || '+' || ");
|
||||||
sb.Append(_commonUtils.FormatSql("{0}", pk.GetDbValue(d)));
|
sb.Append(_commonUtils.FormatSql("{0}", pk.GetDbValue(d)));
|
||||||
|
@ -71,16 +71,16 @@ namespace FreeSql.PostgreSQL.Curd
|
|||||||
|
|
||||||
protected override void ToSqlCase(StringBuilder caseWhen, ColumnInfo[] primarys)
|
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(".");
|
if (string.IsNullOrEmpty(InternalTableAlias) == false) caseWhen.Append(InternalTableAlias).Append(".");
|
||||||
caseWhen.Append(_commonUtils.RereadColumn(pk, _commonUtils.QuoteSqlName(pk.Attribute.Name)));
|
caseWhen.Append(_commonUtils.RereadColumn(pk, _commonUtils.QuoteSqlName(pk.Attribute.Name)));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
caseWhen.Append("(");
|
caseWhen.Append("(");
|
||||||
var pkidx = 0;
|
var pkidx = 0;
|
||||||
foreach (var pk in _table.Primarys)
|
foreach (var pk in primarys)
|
||||||
{
|
{
|
||||||
if (pkidx > 0) caseWhen.Append(" || '+' || ");
|
if (pkidx > 0) caseWhen.Append(" || '+' || ");
|
||||||
if (string.IsNullOrEmpty(InternalTableAlias) == false) caseWhen.Append(InternalTableAlias).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)
|
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;
|
return;
|
||||||
}
|
}
|
||||||
sb.Append("(");
|
sb.Append("(");
|
||||||
var pkidx = 0;
|
var pkidx = 0;
|
||||||
foreach (var pk in _table.Primarys)
|
foreach (var pk in primarys)
|
||||||
{
|
{
|
||||||
if (pkidx > 0) sb.Append(" || '+' || ");
|
if (pkidx > 0) sb.Append(" || '+' || ");
|
||||||
sb.Append(_commonUtils.FormatSql("{0}", pk.GetDbValue(d))).Append("::text");
|
sb.Append(_commonUtils.FormatSql("{0}", pk.GetDbValue(d))).Append("::text");
|
||||||
|
@ -72,16 +72,16 @@ namespace FreeSql.ShenTong.Curd
|
|||||||
|
|
||||||
protected override void ToSqlCase(StringBuilder caseWhen, ColumnInfo[] primarys)
|
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(".");
|
if (string.IsNullOrEmpty(InternalTableAlias) == false) caseWhen.Append(InternalTableAlias).Append(".");
|
||||||
caseWhen.Append(_commonUtils.RereadColumn(pk, _commonUtils.QuoteSqlName(pk.Attribute.Name)));
|
caseWhen.Append(_commonUtils.RereadColumn(pk, _commonUtils.QuoteSqlName(pk.Attribute.Name)));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
caseWhen.Append("(");
|
caseWhen.Append("(");
|
||||||
var pkidx = 0;
|
var pkidx = 0;
|
||||||
foreach (var pk in _table.Primarys)
|
foreach (var pk in primarys)
|
||||||
{
|
{
|
||||||
if (pkidx > 0) caseWhen.Append(" || '+' || ");
|
if (pkidx > 0) caseWhen.Append(" || '+' || ");
|
||||||
if (string.IsNullOrEmpty(InternalTableAlias) == false) caseWhen.Append(InternalTableAlias).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)
|
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;
|
return;
|
||||||
}
|
}
|
||||||
sb.Append("(");
|
sb.Append("(");
|
||||||
var pkidx = 0;
|
var pkidx = 0;
|
||||||
foreach (var pk in _table.Primarys)
|
foreach (var pk in primarys)
|
||||||
{
|
{
|
||||||
if (pkidx > 0) sb.Append(" || '+' || ");
|
if (pkidx > 0) sb.Append(" || '+' || ");
|
||||||
sb.Append(_commonUtils.FormatSql("{0}", pk.GetDbValue(d))).Append("::text");
|
sb.Append(_commonUtils.FormatSql("{0}", pk.GetDbValue(d))).Append("::text");
|
||||||
|
@ -69,15 +69,15 @@ namespace FreeSql.SqlServer.Curd
|
|||||||
|
|
||||||
protected override void ToSqlCase(StringBuilder caseWhen, ColumnInfo[] primarys)
|
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)));
|
caseWhen.Append(_commonUtils.RereadColumn(pk, _commonUtils.QuoteSqlName(pk.Attribute.Name)));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
caseWhen.Append("(");
|
caseWhen.Append("(");
|
||||||
var pkidx = 0;
|
var pkidx = 0;
|
||||||
foreach (var pk in _table.Primarys)
|
foreach (var pk in primarys)
|
||||||
{
|
{
|
||||||
if (pkidx > 0) caseWhen.Append(" + '+' + ");
|
if (pkidx > 0) caseWhen.Append(" + '+' + ");
|
||||||
caseWhen.Append("cast(").Append(_commonUtils.RereadColumn(pk, _commonUtils.QuoteSqlName(pk.Attribute.Name))).Append(" as varchar)");
|
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)
|
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;
|
return;
|
||||||
}
|
}
|
||||||
var pkidx = 0;
|
var pkidx = 0;
|
||||||
foreach (var pk in _table.Primarys)
|
foreach (var pk in primarys)
|
||||||
{
|
{
|
||||||
if (pkidx > 0) sb.Append(" + '+' + ");
|
if (pkidx > 0) sb.Append(" + '+' + ");
|
||||||
sb.Append("cast(").Append(_commonUtils.FormatSql("{0}", pk.GetDbValue(d))).Append(" as varchar)");
|
sb.Append("cast(").Append(_commonUtils.FormatSql("{0}", pk.GetDbValue(d))).Append(" as varchar)");
|
||||||
|
@ -30,15 +30,15 @@ namespace FreeSql.Sqlite.Curd
|
|||||||
|
|
||||||
protected override void ToSqlCase(StringBuilder caseWhen, ColumnInfo[] primarys)
|
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)));
|
caseWhen.Append(_commonUtils.RereadColumn(pk, _commonUtils.QuoteSqlName(pk.Attribute.Name)));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
caseWhen.Append("(");
|
caseWhen.Append("(");
|
||||||
var pkidx = 0;
|
var pkidx = 0;
|
||||||
foreach (var pk in _table.Primarys)
|
foreach (var pk in primarys)
|
||||||
{
|
{
|
||||||
if (pkidx > 0) caseWhen.Append(" || '+' || ");
|
if (pkidx > 0) caseWhen.Append(" || '+' || ");
|
||||||
caseWhen.Append(_commonUtils.RereadColumn(pk, _commonUtils.QuoteSqlName(pk.Attribute.Name)));
|
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)
|
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;
|
return;
|
||||||
}
|
}
|
||||||
sb.Append("(");
|
sb.Append("(");
|
||||||
var pkidx = 0;
|
var pkidx = 0;
|
||||||
foreach (var pk in _table.Primarys)
|
foreach (var pk in primarys)
|
||||||
{
|
{
|
||||||
if (pkidx > 0) sb.Append(" || '+' || ");
|
if (pkidx > 0) sb.Append(" || '+' || ");
|
||||||
sb.Append(_commonUtils.FormatSql("{0}", pk.GetDbValue(d)));
|
sb.Append(_commonUtils.FormatSql("{0}", pk.GetDbValue(d)));
|
||||||
|
Loading…
x
Reference in New Issue
Block a user