Update core

This commit is contained in:
sunkaixuan 2022-04-14 19:53:14 +08:00
parent f74567234c
commit 750049116d
9 changed files with 82 additions and 8 deletions
Src/Asp.NetCore2/SqlSugar
Abstract
QueryableProvider
SqlBuilderProvider
Entities
ExpressionsToSql/ResolveItems
Realization
Utilities

View File

@ -279,21 +279,30 @@ namespace SqlSugar
var exp = method.Arguments[1];
where.Add(" " +queryable.QueryBuilder.GetExpressionValue(exp, ResolveExpressType.WhereSingle).GetString());
}
if (method.Method.Name == "WhereIF")
{
var isOk = LambdaExpression.Lambda(method.Arguments[1]).Compile().DynamicInvoke();
if (isOk.ObjToBool())
{
var exp = method.Arguments[2];
where.Add(" " + queryable.QueryBuilder.GetExpressionValue(exp, ResolveExpressType.WhereSingle).GetString());
}
}
else if (method.Method.Name == "OrderBy")
{
var exp = method.Arguments[1];
oredrBy.Add( " "+ queryable.QueryBuilder.GetExpressionValue(exp,ResolveExpressType.WhereSingle).GetString());
oredrBy.Add(" " + queryable.QueryBuilder.GetExpressionValue(exp, ResolveExpressType.WhereSingle).GetString());
}
else if (method.Method.Name == "OrderByDescending")
{
var exp = method.Arguments[1];
oredrBy.Add(" " + queryable.QueryBuilder.GetExpressionValue(exp, ResolveExpressType.WhereSingle).GetString()+" DESC");
oredrBy.Add(" " + queryable.QueryBuilder.GetExpressionValue(exp, ResolveExpressType.WhereSingle).GetString() + " DESC");
}
else if (method.Method.Name == "ToList")
{
isList = true;
}
else
else
{
Check.ExceptionEasy($"no support {item}", $"不支持表达式{item} 不支持方法{method.Method.Name}");
}

View File

@ -201,6 +201,14 @@ namespace SqlSugar
{
inValue1 = inValue1.Replace("[null]", "null");
}
if (item.CSharpTypeName.EqualCase("guid")&& inValue1=="('')")
{
inValue1 = $"('{Guid.Empty.ToString()}')";
}
else if (inValue1 == "()")
{
inValue1 = $"(NULL)";
}
builder.AppendFormat(temp, type, item.FieldName.ToSqlFilter(), "IN", inValue1);
parameters.Add(new SugarParameter(parameterName, item.FieldValue));
break;

View File

@ -11,6 +11,7 @@ namespace SqlSugar
public bool IsWithNoLockQuery { get; set; }
public bool DisableNvarchar { get; set; }
public bool DisableMillisecond { get; set; }
public bool PgSqlIsAutoToLower = true;
public int DefaultCacheDurationInSeconds { get; set; }
public bool? TableEnumIsString { get; set; }

View File

@ -989,7 +989,11 @@ namespace SqlSugar
public string GeDateFormat(string formatString, string value)
{
if (IsOracle() || IsPg())
if (IsOracle() && formatString == "yyyy-MM-dd HH:mm:ss")
{
return $"to_char({value},'yyyy-MM-dd HH:mi:ss') ";
}
else if (IsOracle() || IsPg())
{
return $"to_char({value},'{formatString}') ";
}

View File

@ -121,7 +121,14 @@ namespace SqlSugar
{
date = Convert.ToDateTime("1900-1-1");
}
return "to_timestamp('" + date.ToString("yyyy-MM-dd HH:mm:ss.ffffff") + "', 'YYYY-MM-DD HH24:MI:SS.FF') ";
if (this.Context.CurrentConnectionConfig?.MoreSettings?.DisableMillisecond == true)
{
return "to_date('" + date.ToString("yyyy-MM-dd HH:mm:ss") + "', 'YYYY-MM-DD HH24:MI:SS') ";
}
else
{
return "to_timestamp('" + date.ToString("yyyy-MM-dd HH:mm:ss.ffffff") + "', 'YYYY-MM-DD HH24:MI:SS.FF') ";
}
}
else if (type.IsEnum())
{

View File

@ -57,7 +57,14 @@ namespace SqlSugar
{
date = Convert.ToDateTime("1900-1-1");
}
return "to_timestamp('" + date.ToString("yyyy-MM-dd HH:mm:ss.ffffff") + "', 'YYYY-MM-DD HH24:MI:SS.FF') ";
if (this.Context.CurrentConnectionConfig?.MoreSettings?.DisableMillisecond == true)
{
return "to_date('" + date.ToString("yyyy-MM-dd HH:mm:ss") + "', 'YYYY-MM-DD HH24:MI:SS') ";
}
else
{
return "to_timestamp('" + date.ToString("yyyy-MM-dd HH:mm:ss.ffffff") + "', 'YYYY-MM-DD HH24:MI:SS.FF') ";
}
}
else if (type.IsEnum())
{

View File

@ -95,7 +95,14 @@ namespace SqlSugar
{
date = Convert.ToDateTime("1900-1-1");
}
return "'" + date.ToString("yyyy-MM-dd HH:mm:ss.fff") + "'";
if (this.Context.CurrentConnectionConfig?.MoreSettings?.DisableMillisecond == true)
{
return "'" + date.ToString("yyyy-MM-dd HH:mm:ss") + "'";
}
else
{
return "'" + date.ToString("yyyy-MM-dd HH:mm:ss.fff") + "'";
}
}
else if (type.IsEnum())
{

View File

@ -51,7 +51,14 @@ namespace SqlSugar
{
date = Convert.ToDateTime("1900-1-1");
}
return "'" + date.ToString("yyyy-MM-dd HH:mm:ss.fff") + "'";
if (this.Context.CurrentConnectionConfig?.MoreSettings?.DisableMillisecond == true)
{
return "'" + date.ToString("yyyy-MM-dd HH:mm:ss") + "'";
}
else
{
return "'" + date.ToString("yyyy-MM-dd HH:mm:ss.fff") + "'";
}
}
else if (type == UtilConstants.DateType && iswhere)
{

View File

@ -0,0 +1,24 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Linq.Expressions;
using System.Text;
using System.Threading.Tasks;
namespace SqlSugar
{
public static class CommonExtensions
{
public static IEnumerable<T> WhereIF<T>(this IEnumerable<T> thisValue, bool isOk, Func<T, bool> predicate)
{
if (isOk)
{
return thisValue.Where(predicate);
}
else
{
return thisValue;
}
}
}
}