Update exp to sql

This commit is contained in:
sunkaixuan
2019-02-09 21:05:48 +08:00
parent 8648167a0b
commit be55924ee1
2 changed files with 5 additions and 1 deletions

View File

@@ -427,7 +427,7 @@ namespace OrmTest.Demo
var test32 = db.Queryable<Student>().Where(it => it.Name == null ? true : false).ToList(); var test32 = db.Queryable<Student>().Where(it => it.Name == null ? true : false).ToList();
var test33 = db.Queryable<Student>().Where(it => SqlFunc.IIF(it.Name==null,true ,false)).ToList(); var test33 = db.Queryable<Student>().Where(it => SqlFunc.IIF(it.Name==null,true ,false)).ToList();
var test34 = db.Queryable<Student>().Where(it => SqlFunc.IIF(it.Name == null||1==1, true, false)).ToList(); var test34 = db.Queryable<Student>().Where(it => SqlFunc.IIF(it.Name == null||1==1, true, false)).ToList();
// var test35 = db.Queryable<Student>().Where(it => SqlFunc.IF(it.Id==1).Return(true).End(false)).ToList(); var test35 = db.Queryable<Student>().Where(it =>it.Id==1&&SqlFunc.IF(it.Id==1).Return(true).End(false)).ToList();
} }
public static void Page() public static void Page()
{ {

View File

@@ -62,6 +62,10 @@ namespace SqlSugar
{ {
CaseWhenResolve caseResole = new CaseWhenResolve(express, this.Context, parameter.OppsiteExpression); CaseWhenResolve caseResole = new CaseWhenResolve(express, this.Context, parameter.OppsiteExpression);
var appendSql = caseResole.GetSql(); var appendSql = caseResole.GetSql();
var isRoot = contextIndex == 2&&parameter.BaseExpression==null;
if (isRoot||(parameter.BaseExpression!=null&&ExpressionTool.IsLogicOperator(parameter.BaseExpression))) {
appendSql= appendSql+"=1 ";
}
if (this.Context.ResolveType.IsIn(ResolveExpressType.SelectMultiple, ResolveExpressType.SelectSingle,ResolveExpressType.Update)) if (this.Context.ResolveType.IsIn(ResolveExpressType.SelectMultiple, ResolveExpressType.SelectSingle,ResolveExpressType.Update))
{ {
parameter.BaseParameter.CommonTempData = appendSql; parameter.BaseParameter.CommonTempData = appendSql;