Update exp to sql

This commit is contained in:
sunkaixuan 2019-05-28 18:46:44 +08:00
parent d670f1d16b
commit f922b9ba53
2 changed files with 15 additions and 0 deletions

View File

@ -28,6 +28,8 @@ namespace OrmTest
Db.CodeFirst.InitTables<GuidTable>();
Db.Queryable<GuidTable>().Where(it => it.Id.HasValue).ToList();
Db.Queryable<Order>().Where(it => SqlSugar.SqlFunc.Equals(it.CreateTime.Date, it.CreateTime.Date)).ToList();
}

View File

@ -413,6 +413,10 @@ namespace SqlSugar
{
parameter.CommonTempData = DateTime.Now.Date;
}
else if (IsDateDate(item))
{
parameter.CommonTempData = GetNewExpressionValue(item);
}
else if (model.Name == "ToString" && item is ConstantExpression && (item as ConstantExpression).Type.IsEnum())
{
parameter.CommonTempData = item.ToString();
@ -439,6 +443,10 @@ namespace SqlSugar
methodCallExpressionArgs.IsMember = false;
}
}
if (IsDateDate(item))
{
methodCallExpressionArgs.IsMember = true;
}
if (methodCallExpressionArgs.IsMember == false && (item is MethodCallExpression && item.ToString() == "GetDate()") || (item is UnaryExpression && ((UnaryExpression)item).Operand.ToString() == "GetDate()"))
{
var parameterName = this.Context.SqlParameterKeyWord + ExpressionConst.MethodConst + this.Context.ParameterIndex;
@ -458,6 +466,11 @@ namespace SqlSugar
parameter.ChildExpression = null;
}
private static bool IsDateDate(Expression item)
{
return item.Type == UtilConstants.DateType && item is MemberExpression && (item as MemberExpression).Member.Name == "Date";
}
private object GetMethodValue(string name, MethodCallExpressionModel model)
{
if (IsExtMethod(name))