mirror of
https://github.com/nsnail/FreeSql.git
synced 2025-04-22 18:52:50 +08:00
- 优化 IUpdate.Set 字符串累加本身为 NULL 的情况;#1209
This commit is contained in:
parent
f042ea46bb
commit
efc454b817
@ -156,6 +156,9 @@ namespace FreeSql.Tests.Sqlite
|
|||||||
sql = update.Set(a => a.Clicks * incrv / 1).Where(a => a.Id == 1).ToSql().Replace("\r\n", "");
|
sql = update.Set(a => a.Clicks * incrv / 1).Where(a => a.Id == 1).ToSql().Replace("\r\n", "");
|
||||||
Assert.Equal("UPDATE \"tb_topic\" SET \"Clicks\" = ifnull(\"Clicks\", 0) * 10 / 1 WHERE (\"Id\" = 1)", sql);
|
Assert.Equal("UPDATE \"tb_topic\" SET \"Clicks\" = ifnull(\"Clicks\", 0) * 10 / 1 WHERE (\"Id\" = 1)", sql);
|
||||||
|
|
||||||
|
sql = update.Set(a => a.Title + "xxxx").Where(a => a.Id == 1).ToSql().Replace("\r\n", "");
|
||||||
|
Assert.Equal("UPDATE \"tb_topic\" SET \"Title\" = ifnull(\"Title\", '') || 'xxxx' WHERE (\"Id\" = 1)", sql);
|
||||||
|
|
||||||
sql = update.Set(a => a.Id - incrv).Where(a => a.Id == 1).ToSql().Replace("\r\n", "");
|
sql = update.Set(a => a.Id - incrv).Where(a => a.Id == 1).ToSql().Replace("\r\n", "");
|
||||||
Assert.Equal("UPDATE \"tb_topic\" SET \"Id\" = (\"Id\" - 10) WHERE (\"Id\" = 1)", sql);
|
Assert.Equal("UPDATE \"tb_topic\" SET \"Id\" = (\"Id\" - 10) WHERE (\"Id\" = 1)", sql);
|
||||||
|
|
||||||
|
@ -623,6 +623,11 @@ namespace FreeSql.Internal.CommonProvider
|
|||||||
var replname = _commonUtils.QuoteSqlName(col.Column.Attribute.Name);
|
var replname = _commonUtils.QuoteSqlName(col.Column.Attribute.Name);
|
||||||
expt = expt.Replace(replname, _commonUtils.IsNull(replname, _commonUtils.FormatSql("{0}", replval)));
|
expt = expt.Replace(replname, _commonUtils.IsNull(replname, _commonUtils.FormatSql("{0}", replval)));
|
||||||
}
|
}
|
||||||
|
else if (col.Column.CsType == typeof(string))
|
||||||
|
{
|
||||||
|
var replname = _commonUtils.QuoteSqlName(col.Column.Attribute.Name);
|
||||||
|
expt = expt.Replace(replname, _commonUtils.IsNull(replname, _commonUtils.FormatSql("{0}", "")));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
_setIncr.Append(", ").Append(_commonUtils.QuoteSqlName(cols.First().Column.Attribute.Name)).Append(" = ").Append(expt);
|
_setIncr.Append(", ").Append(_commonUtils.QuoteSqlName(cols.First().Column.Attribute.Name)).Append(" = ").Append(expt);
|
||||||
return this;
|
return this;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user