- 修复 Repository/DbContext 批量修改可能无效的 bug;#709

This commit is contained in:
2881099
2021-06-05 14:52:02 +08:00
parent 2b982ff350
commit 092bbe47dd
7 changed files with 63 additions and 1 deletions

View File

@ -174,6 +174,26 @@ namespace FreeSql
/// <returns></returns>
public static ICaseWhenEnd Case() => SqlExtExtensions.Case();
/// <summary>
/// case when .. then .. end
/// </summary>
/// <typeparam name="TInput"></typeparam>
/// <typeparam name="TOutput"></typeparam>
/// <param name="input"></param>
/// <param name="dict"></param>
/// <returns></returns>
public static TOutput CaseDict<TInput, TOutput>(TInput input, [RawValue] Dictionary<TInput, TOutput> dict)
{
var ec = expContext.Value;
var sb = new StringBuilder();
sb.Append("case");
foreach (var kv in dict)
sb.Append(" when ").Append(ec.ParsedContent["input"]).Append(" = ").Append(ec.FormatSql(kv.Key))
.Append(" then ").Append(ec.FormatSql(kv.Value));
sb.Append(" end");
ec.Result = sb.ToString();
return default;
}
/// <summary>
/// MySql group_concat(distinct .. order by .. separator ..)
/// </summary>
/// <param name="column"></param>