Optimized SqlServer Date format

This commit is contained in:
sunkaixuan
2022-03-12 20:21:50 +08:00
parent 68b230a790
commit 1759b76d3b
2 changed files with 22 additions and 0 deletions

View File

@@ -177,6 +177,8 @@ namespace OrmTest
var test22 = db.Queryable<Order>().Where(it => it.Id.ToString() == 1.ToString()).Select(it => SqlFunc.AggregateDistinctCount(it.CreateTime)).First(); var test22 = db.Queryable<Order>().Where(it => it.Id.ToString() == 1.ToString()).Select(it => SqlFunc.AggregateDistinctCount(it.CreateTime)).First();
var test23 = db.Queryable<Order>().Where(it =>true).Select(it => new { x1 = it.CreateTime.ToString("yyyy-MM") ,it.CreateTime}).ToList(); var test23 = db.Queryable<Order>().Where(it =>true).Select(it => new { x1 = it.CreateTime.ToString("yyyy-MM") ,it.CreateTime}).ToList();
var test24 = db.Queryable<Order>().Where(it => true).Select(it => new { x1 = it.CreateTime.ToString("yyyy-MM-dd _ HH _ mm _ ss "), it.CreateTime }).ToList(); var test24 = db.Queryable<Order>().Where(it => true).Select(it => new { x1 = it.CreateTime.ToString("yyyy-MM-dd _ HH _ mm _ ss "), it.CreateTime }).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();
Console.WriteLine("#### Examples End ####"); Console.WriteLine("#### Examples End ####");
} }

View File

@@ -20,6 +20,26 @@ namespace SqlSugar
} }
public partial class SqlServerMethod : DefaultDbMethod, IDbMethods 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) public override string HasValue(MethodCallExpressionModel model)
{ {
if (model.Args[0].Type == UtilConstants.GuidType) if (model.Args[0].Type == UtilConstants.GuidType)