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