mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-09-23 04:23:47 +08:00
SqlFuncs add methods
This commit is contained in:
@@ -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 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 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 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 ####");
|
Console.WriteLine("#### Examples End ####");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -490,5 +490,41 @@ namespace SqlSugar
|
|||||||
var parameter2= model.Args[1];
|
var parameter2= model.Args[1];
|
||||||
return string.Format(" ROUND({0},{1}) ", parameter.MemberName, parameter2.MemberName);
|
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 Format(MethodCallExpressionModel model);
|
||||||
string Abs(MethodCallExpressionModel model);
|
string Abs(MethodCallExpressionModel model);
|
||||||
string Round(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 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)
|
public static bool HasNumber(object thisValue)
|
||||||
{
|
{
|
||||||
return thisValue.ObjToInt() > 0;
|
return thisValue.ObjToInt() > 0;
|
||||||
|
@@ -856,6 +856,16 @@ namespace SqlSugar
|
|||||||
return this.Context.DbMehtods.Abs(model);
|
return this.Context.DbMehtods.Abs(model);
|
||||||
case "Round":
|
case "Round":
|
||||||
return this.Context.DbMehtods.Round(model);
|
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:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user