- 优化 lambda 使用 a == null ? 1 : 0 支持类似这样直接判断实体的情况;

This commit is contained in:
28810
2020-08-07 01:36:11 +08:00
parent 7efe02f69c
commit 25e73117b1
11 changed files with 94 additions and 51 deletions

View File

@ -83,7 +83,7 @@ namespace FreeSql.Odbc.PostgreSQL
{
if (pkidx > 0) caseWhen.Append(" || '+' || ");
if (string.IsNullOrEmpty(InternalTableAlias) == false) caseWhen.Append(InternalTableAlias).Append(".");
caseWhen.Append(_commonUtils.QuoteReadColumn(pk.CsType, pk.Attribute.MapType, _commonUtils.QuoteSqlName(pk.Attribute.Name))).Append("::varchar");
caseWhen.Append(_commonUtils.QuoteReadColumn(pk.CsType, pk.Attribute.MapType, _commonUtils.QuoteSqlName(pk.Attribute.Name))).Append("::text");
++pkidx;
}
caseWhen.Append(")");
@ -101,7 +101,7 @@ namespace FreeSql.Odbc.PostgreSQL
foreach (var pk in _table.Primarys)
{
if (pkidx > 0) sb.Append(" || '+' || ");
sb.Append(_commonUtils.FormatSql("{0}", pk.GetMapValue(d))).Append("::varchar");
sb.Append(_commonUtils.FormatSql("{0}", pk.GetMapValue(d))).Append("::text");
++pkidx;
}
sb.Append(")");
@ -110,6 +110,11 @@ namespace FreeSql.Odbc.PostgreSQL
protected override void ToSqlCaseWhenEnd(StringBuilder sb, ColumnInfo col)
{
if (_noneParameter == false) return;
if (col.Attribute.MapType == typeof(string))
{
sb.Append("::text");
return;
}
var dbtype = _commonUtils.CodeFirst.GetDbInfo(col.Attribute.MapType)?.dbtype;
if (dbtype == null) return;