mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-04-05 17:37:58 +08:00
Update core
This commit is contained in:
parent
f74567234c
commit
750049116d
Src/Asp.NetCore2/SqlSugar
Abstract
Entities
ExpressionsToSql/ResolveItems
Realization
Oracle/SqlBuilder
Sqlite/SqlBuilder
Utilities
@ -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}");
|
||||
}
|
||||
|
@ -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;
|
||||
|
@ -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; }
|
||||
|
@ -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}') ";
|
||||
}
|
||||
|
@ -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())
|
||||
{
|
||||
|
@ -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())
|
||||
{
|
||||
|
@ -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())
|
||||
{
|
||||
|
@ -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)
|
||||
{
|
||||
|
24
Src/Asp.NetCore2/SqlSugar/Utilities/CommonExtensions.cs
Normal file
24
Src/Asp.NetCore2/SqlSugar/Utilities/CommonExtensions.cs
Normal 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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user