mirror of
https://gitee.com/dotnetchina/SqlSugar.git
synced 2025-11-08 10:24:55 +08:00
4.2.0.9
This commit is contained in:
@@ -3,8 +3,6 @@ using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using System.Linq;
|
||||
using System.Linq.Expressions;
|
||||
using System.Reflection;
|
||||
|
||||
namespace SqlSugar
|
||||
{
|
||||
public class InsertBuilder : IDMLBuilder
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Linq.Expressions;
|
||||
using System.Reflection;
|
||||
using System.Text;
|
||||
|
||||
namespace SqlSugar
|
||||
|
||||
@@ -46,6 +46,16 @@ namespace SqlSugar
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public static object GetValue(object value)
|
||||
{
|
||||
if (value == null) return value;
|
||||
var type = value.GetType();
|
||||
if (type.IsEnum()&& type != typeof(DateType)&& type!=typeof(JoinType)&&type!=typeof(OrderByType)) return Convert.ToInt64(value);
|
||||
else
|
||||
return value;
|
||||
}
|
||||
|
||||
public static bool IsLogicOperator(string operatorValue)
|
||||
{
|
||||
return operatorValue == "&&" || operatorValue == "||";
|
||||
@@ -67,6 +77,7 @@ namespace SqlSugar
|
||||
}
|
||||
public static object GetMemberValue(MemberInfo member, Expression expression)
|
||||
{
|
||||
var rootExpression = expression as MemberExpression;
|
||||
var memberInfos = new Stack<MemberInfo>();
|
||||
var fieldInfo = member as System.Reflection.FieldInfo;
|
||||
object reval = null;
|
||||
@@ -106,7 +117,7 @@ namespace SqlSugar
|
||||
var objProp = objReference.GetType().GetProperty(mi.Name);
|
||||
if (objProp == null)
|
||||
{
|
||||
objReference = DynamicInvoke(expression,memberExpr);
|
||||
objReference = DynamicInvoke(expression, rootExpression==null?memberExpr: rootExpression);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -118,7 +129,7 @@ namespace SqlSugar
|
||||
var objField = objReference.GetType().GetField(mi.Name);
|
||||
if (objField == null)
|
||||
{
|
||||
objReference = DynamicInvoke(expression, memberExpr);
|
||||
objReference = DynamicInvoke(expression, rootExpression==null?memberExpr: rootExpression);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -12,7 +12,7 @@ namespace SqlSugar
|
||||
{
|
||||
var expression = base.Expression as ConstantExpression;
|
||||
var isLeft = parameter.IsLeft;
|
||||
object value = expression.Value;
|
||||
object value = ExpressionTool.GetValue(expression.Value);
|
||||
var baseParameter = parameter.BaseParameter;
|
||||
baseParameter.ChildExpression = expression;
|
||||
var isSetTempData = baseParameter.CommonTempData.IsValuable() && baseParameter.CommonTempData.Equals(CommonTempDataType.Result);
|
||||
|
||||
@@ -14,7 +14,7 @@ namespace SqlSugar
|
||||
var isLeft = parameter.IsLeft;
|
||||
var isSetTempData = baseParameter.CommonTempData.IsValuable() && baseParameter.CommonTempData.Equals(CommonTempDataType.Result);
|
||||
var expression = base.Expression as MemberExpression;
|
||||
var isValue = expression.Member.Name == "Value" && expression.Member.GetType().Name == "RuntimePropertyInfo";
|
||||
var isValue = expression.Member.Name == "Value" && expression.Member.DeclaringType.Name == "Nullable`1";
|
||||
var isBool = expression.Type == PubConst.BoolType;
|
||||
var isValueBool = isValue && isBool && parameter.BaseExpression == null;
|
||||
if (isValueBool)
|
||||
|
||||
@@ -17,5 +17,5 @@ using System.Runtime.InteropServices;
|
||||
|
||||
// The following GUID is for the ID of the typelib if this project is exposed to COM
|
||||
[assembly: Guid("1c022a5c-4e4d-4026-a8a3-f659b9740a1a")]
|
||||
[assembly: AssemblyVersion("4.2.0.7")]
|
||||
[assembly: AssemblyFileVersion("4.2.0.7")]
|
||||
[assembly: AssemblyVersion("4.2.0.9")]
|
||||
[assembly: AssemblyFileVersion("4.2.0.9")]
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
using System;
|
||||
using System.Reflection;
|
||||
|
||||
namespace SqlSugar
|
||||
{
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
<package >
|
||||
<metadata>
|
||||
<id>sqlSugarCore</id>
|
||||
<version>4.2.0.7</version>
|
||||
<version>4.2.0.9</version>
|
||||
<authors>sunkaixuan</authors>
|
||||
<owners>Landa</owners>
|
||||
<licenseUrl>http://www.apache.org/licenses/LICENSE-2.0.html</licenseUrl>
|
||||
|
||||
Reference in New Issue
Block a user