diff --git a/Src/Asp.Net/SqlSugar/ExpressionsToSql/CaseWhen/CaseWhen.cs b/Src/Asp.Net/SqlSugar/ExpressionsToSql/CaseWhen/CaseWhen.cs index 3e74788e5..7ba270fdc 100644 --- a/Src/Asp.Net/SqlSugar/ExpressionsToSql/CaseWhen/CaseWhen.cs +++ b/Src/Asp.Net/SqlSugar/ExpressionsToSql/CaseWhen/CaseWhen.cs @@ -16,6 +16,10 @@ namespace SqlSugar { return default(T); } + public T End() + { + return default(T); + } } public class CaseThen { diff --git a/Src/Asp.Net/SqlSugar/ExpressionsToSql/CaseWhen/CaseWhenResolve.cs b/Src/Asp.Net/SqlSugar/ExpressionsToSql/CaseWhen/CaseWhenResolve.cs index b309c4105..fe36b158d 100644 --- a/Src/Asp.Net/SqlSugar/ExpressionsToSql/CaseWhen/CaseWhenResolve.cs +++ b/Src/Asp.Net/SqlSugar/ExpressionsToSql/CaseWhen/CaseWhenResolve.cs @@ -45,8 +45,15 @@ namespace SqlSugar { var isFirst = allMethods.First() == methodExp; var isLast = allMethods.Last() == methodExp; - var sql = SubTools.GetMethodValue(this.context, methodExp.Arguments[0], this.context.IsSingle ? ResolveExpressType.WhereSingle : ResolveExpressType.WhereMultiple); - sqls.Add(new KeyValuePair(methodExp.Method.Name, sql)); + if (methodExp.Arguments.Count == 0) + { + sqls.Add(new KeyValuePair(methodExp.Method.Name, "null")); + } + else + { + var sql = SubTools.GetMethodValue(this.context, methodExp.Arguments[0], this.context.IsSingle ? ResolveExpressType.WhereSingle : ResolveExpressType.WhereMultiple); + sqls.Add(new KeyValuePair(methodExp.Method.Name, sql)); + } } var result = this.context.DbMehtods.CaseWhen(sqls); return result;