mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-09-20 18:48:09 +08:00
Update exp to sql
This commit is contained in:
@@ -46,6 +46,7 @@ namespace SqlSugar
|
|||||||
var name =this.Context.GetTranslationColumnName((argExp as LambdaExpression).Parameters[0].Name);
|
var name =this.Context.GetTranslationColumnName((argExp as LambdaExpression).Parameters[0].Name);
|
||||||
var parameter = (argExp as LambdaExpression).Parameters.Last();
|
var parameter = (argExp as LambdaExpression).Parameters.Last();
|
||||||
Context.InitMappingInfo(parameter.Type);
|
Context.InitMappingInfo(parameter.Type);
|
||||||
|
this.Context.RefreshMapping();
|
||||||
var tableName= Context.GetTranslationTableName(parameter.Type.Name, true);
|
var tableName= Context.GetTranslationTableName(parameter.Type.Name, true);
|
||||||
var joinString =string.Format(" {2} INNER JOIN {1} {0} ",
|
var joinString =string.Format(" {2} INNER JOIN {1} {0} ",
|
||||||
this.Context.GetTranslationColumnName(parameter.Name),
|
this.Context.GetTranslationColumnName(parameter.Name),
|
||||||
|
@@ -46,6 +46,7 @@ namespace SqlSugar
|
|||||||
var name =this.Context.GetTranslationColumnName((argExp as LambdaExpression).Parameters[0].Name);
|
var name =this.Context.GetTranslationColumnName((argExp as LambdaExpression).Parameters[0].Name);
|
||||||
var parameter = (argExp as LambdaExpression).Parameters.Last();
|
var parameter = (argExp as LambdaExpression).Parameters.Last();
|
||||||
Context.InitMappingInfo(parameter.Type);
|
Context.InitMappingInfo(parameter.Type);
|
||||||
|
this.Context.RefreshMapping();
|
||||||
var tableName= Context.GetTranslationTableName(parameter.Type.Name, true);
|
var tableName= Context.GetTranslationTableName(parameter.Type.Name, true);
|
||||||
var joinString =string.Format(" {2} LEFT JOIN {1} {0} ",
|
var joinString =string.Format(" {2} LEFT JOIN {1} {0} ",
|
||||||
this.Context.GetTranslationColumnName(parameter.Name),
|
this.Context.GetTranslationColumnName(parameter.Name),
|
||||||
|
@@ -43,12 +43,7 @@ namespace SqlSugar
|
|||||||
public string GetValue(Expression expression = null)
|
public string GetValue(Expression expression = null)
|
||||||
{
|
{
|
||||||
var exp = expression as MethodCallExpression;
|
var exp = expression as MethodCallExpression;
|
||||||
var entityType = (exp.Arguments[0] as LambdaExpression).Parameters[0].Type;
|
InitType(exp);
|
||||||
if (this.Context.InitMappingInfo != null)
|
|
||||||
{
|
|
||||||
this.Context.InitMappingInfo(entityType);
|
|
||||||
this.Context.RefreshMapping();
|
|
||||||
}
|
|
||||||
var result = "";
|
var result = "";
|
||||||
if (this.Context.JoinIndex == 0)
|
if (this.Context.JoinIndex == 0)
|
||||||
result = SubTools.GetMethodValue(this.Context, exp.Arguments[0], ResolveExpressType.FieldSingle);
|
result = SubTools.GetMethodValue(this.Context, exp.Arguments[0], ResolveExpressType.FieldSingle);
|
||||||
@@ -60,6 +55,18 @@ namespace SqlSugar
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void InitType(MethodCallExpression exp)
|
||||||
|
{
|
||||||
|
foreach (var arg in (exp.Arguments[0] as LambdaExpression).Parameters)
|
||||||
|
{
|
||||||
|
if (this.Context.InitMappingInfo != null)
|
||||||
|
{
|
||||||
|
this.Context.InitMappingInfo(arg.Type);
|
||||||
|
this.Context.RefreshMapping();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public void SetShortName(MethodCallExpression exp, string result)
|
public void SetShortName(MethodCallExpression exp, string result)
|
||||||
{
|
{
|
||||||
if (exp.Arguments[0] is LambdaExpression && result.IsContainsIn("+", "-","*","/"))
|
if (exp.Arguments[0] is LambdaExpression && result.IsContainsIn("+", "-","*","/"))
|
||||||
|
Reference in New Issue
Block a user