mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-04-30 04:45:54 +08:00
SqlFuncs add methods
This commit is contained in:
parent
3b7450a36c
commit
b624fe81bb
@ -180,6 +180,11 @@ namespace OrmTest
|
||||
var test25 = db.Queryable<Order>().Where(it => true).Select(it => new { x1 = it.CreateTime.Month,x2=DateTime.Now.Month}).ToList();
|
||||
var test26 = db.Queryable<Order>().Where(it => true).Select(it => new { x1 = it.CreateTime.Day, x2 = DateTime.Now.Day }).ToList();
|
||||
var test27 = db.Queryable<Order>().Where(it => true).Select(it => new { x1 = it.CreateTime.Year, x2 = DateTime.Now.Year }).ToList();
|
||||
var test28 = db.Queryable<Order>().Select(it=>SqlFunc.DateDiff(DateType.Day,Convert.ToDateTime("2021-1-1"),Convert.ToDateTime("2021-1-12"))).ToList();
|
||||
var test29 = db.Queryable<Order>().Select(it =>new {x= SqlFunc.LessThan(1, 2) }).ToList();
|
||||
var test30= db.Queryable<Order>().Select(it => new { x = SqlFunc.LessThanOrEqual(1, 2) }).ToList();
|
||||
var test31 = db.Queryable<Order>().Select(it => new { x = SqlFunc.GreaterThan(1, 2) }).ToList();
|
||||
var test32 = db.Queryable<Order>().Select(it => new { x = SqlFunc.GreaterThanOrEqual(1, 2) }).ToList();
|
||||
Console.WriteLine("#### Examples End ####");
|
||||
}
|
||||
|
||||
|
@ -490,5 +490,41 @@ namespace SqlSugar
|
||||
var parameter2= model.Args[1];
|
||||
return string.Format(" ROUND({0},{1}) ", parameter.MemberName, parameter2.MemberName);
|
||||
}
|
||||
|
||||
public string DateDiff(MethodCallExpressionModel model)
|
||||
{
|
||||
var parameter = model.Args[0];
|
||||
var parameter2 = model.Args[1];
|
||||
var parameter3 = model.Args[2];
|
||||
return string.Format(" DATEDIFF({0},{1},{2}) ", parameter.MemberValue?.ToString().ToSqlFilter(), parameter2.MemberName, parameter3.MemberName);
|
||||
}
|
||||
public string GreaterThan(MethodCallExpressionModel model)
|
||||
{
|
||||
//>
|
||||
var parameter = model.Args[0];
|
||||
var parameter2 = model.Args[1];
|
||||
return string.Format(" ({0} > {1}) ", parameter.MemberName, parameter2.MemberName);
|
||||
}
|
||||
public string GreaterThanOrEqual(MethodCallExpressionModel model)
|
||||
{
|
||||
//>=
|
||||
var parameter = model.Args[0];
|
||||
var parameter2 = model.Args[1];
|
||||
return string.Format(" ({0} >= {1}) ", parameter.MemberName, parameter2.MemberName);
|
||||
}
|
||||
public string LessThan(MethodCallExpressionModel model)
|
||||
{
|
||||
//<
|
||||
var parameter = model.Args[0];
|
||||
var parameter2 = model.Args[1];
|
||||
return string.Format(" ({0} < {1}) ", parameter.MemberName, parameter2.MemberName);
|
||||
}
|
||||
public string LessThanOrEqual(MethodCallExpressionModel model)
|
||||
{
|
||||
//<=
|
||||
var parameter = model.Args[0];
|
||||
var parameter2 = model.Args[1];
|
||||
return string.Format(" ({0} <= {1}) ", parameter.MemberName, parameter2.MemberName);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -75,5 +75,11 @@ namespace SqlSugar
|
||||
string Format(MethodCallExpressionModel model);
|
||||
string Abs(MethodCallExpressionModel model);
|
||||
string Round(MethodCallExpressionModel model);
|
||||
|
||||
string DateDiff(MethodCallExpressionModel model);
|
||||
string GreaterThan(MethodCallExpressionModel model);
|
||||
string GreaterThanOrEqual(MethodCallExpressionModel model);
|
||||
string LessThan(MethodCallExpressionModel model);
|
||||
string LessThanOrEqual(MethodCallExpressionModel model);
|
||||
}
|
||||
}
|
||||
|
@ -9,6 +9,27 @@ namespace SqlSugar
|
||||
{
|
||||
public partial class SqlFunc
|
||||
{
|
||||
|
||||
public static int DateDiff(DateType dateType,DateTime littleTime, DateTime bigTime)
|
||||
{
|
||||
throw new NotSupportedException("Can only be used in expressions");
|
||||
}
|
||||
public static bool GreaterThan(object thisValue,object gtValue)
|
||||
{
|
||||
throw new NotSupportedException("Can only be used in expressions");
|
||||
}
|
||||
public static bool GreaterThanOrEqual(object thisValue, object gtValue)
|
||||
{
|
||||
throw new NotSupportedException("Can only be used in expressions");
|
||||
}
|
||||
public static bool LessThan(object thisValue, object ltValue)
|
||||
{
|
||||
throw new NotSupportedException("Can only be used in expressions");
|
||||
}
|
||||
public static bool LessThanOrEqual(object thisValue, object ltValue)
|
||||
{
|
||||
throw new NotSupportedException("Can only be used in expressions");
|
||||
}
|
||||
public static bool HasNumber(object thisValue)
|
||||
{
|
||||
return thisValue.ObjToInt() > 0;
|
||||
|
@ -856,6 +856,16 @@ namespace SqlSugar
|
||||
return this.Context.DbMehtods.Abs(model);
|
||||
case "Round":
|
||||
return this.Context.DbMehtods.Round(model);
|
||||
case "DateDiff":
|
||||
return this.Context.DbMehtods.DateDiff(model);
|
||||
case "GreaterThan":
|
||||
return this.Context.DbMehtods.GreaterThan(model);
|
||||
case "GreaterThanOrEqual":
|
||||
return this.Context.DbMehtods.GreaterThanOrEqual(model);
|
||||
case "LessThan":
|
||||
return this.Context.DbMehtods.LessThan(model);
|
||||
case "LessThanOrEqual":
|
||||
return this.Context.DbMehtods.LessThanOrEqual(model);
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user