mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-09-23 04:23:47 +08:00
58 lines
1.8 KiB
C#
58 lines
1.8 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Collections.ObjectModel;
|
|
using System.Linq;
|
|
using System.Linq.Expressions;
|
|
using System.Reflection;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace SqlSugar
|
|
{
|
|
public partial class SqlServerExpressionContext : ExpressionContext, ILambdaExpressions
|
|
{
|
|
public SqlSugarProvider Context { get; set; }
|
|
public SqlServerExpressionContext()
|
|
{
|
|
base.DbMehtods = new SqlServerMethod();
|
|
}
|
|
|
|
}
|
|
public partial class SqlServerMethod : DefaultDbMethod, IDbMethods
|
|
{
|
|
public override string DateValue(MethodCallExpressionModel model)
|
|
{
|
|
var parameter = model.Args[0];
|
|
var parameter2 = model.Args[1];
|
|
if ((parameter2.MemberValue + "") == "Month")
|
|
{
|
|
if (parameter.MemberName != null && parameter.MemberName is DateTime)
|
|
{
|
|
return string.Format(" Month('{0}') ", parameter.MemberName);
|
|
}
|
|
else
|
|
{
|
|
return string.Format(" Month({0}) ", parameter.MemberName);
|
|
}
|
|
}
|
|
else
|
|
{
|
|
return base.DateValue(model);
|
|
}
|
|
}
|
|
public override string HasValue(MethodCallExpressionModel model)
|
|
{
|
|
if (model.Args[0].Type == UtilConstants.GuidType)
|
|
{
|
|
var parameter = model.Args[0];
|
|
return string.Format("( {0} IS NOT NULL )", parameter.MemberName);
|
|
}
|
|
else
|
|
{
|
|
var parameter = model.Args[0];
|
|
return string.Format("( {0}<>'' AND {0} IS NOT NULL )", parameter.MemberName);
|
|
}
|
|
}
|
|
}
|
|
}
|