This commit is contained in:
sunkaixuan
2017-06-04 23:13:30 +08:00
parent 60ba547f6f
commit ce86e20927
12 changed files with 20 additions and 17 deletions

View File

@@ -279,7 +279,7 @@ namespace OrmTest.Demo
private static void Enum()
{
var db = GetInstance();
// var list = db.Queryable<StudentEnum>().AS("Student").Where(it=>it.SchoolId== SchoolEnum.HarvardUniversity).ToList();
var list = db.Queryable<StudentEnum>().AS("Student").Where(it=>it.SchoolId== SchoolEnum.HarvardUniversity).ToList();
}
}
}

View File

@@ -64,7 +64,7 @@ namespace OrmTest.UnitTest
base.Check(@"SELECT * FROM [STudent] st Left JOIN School sc ON ( [st].[SchoolId] = [sc].[Id] ) WHERE ( [st].[ID] > @Id0 ) ",
new List<SugarParameter>() {
new SugarParameter("@Id0",2)
}, join2.Key, join2.Value, "join 1 Error");
}, join2.Key, join2.Value, "join 2 Error");
}
}

View File

@@ -9,7 +9,8 @@ namespace SqlSugar
public enum CommonTempDataType
{
Default = 0,
ChildNodeSet = 1,
Simple = 2
Result = 1,
Append=2,
Simple = 3
}
}

View File

@@ -57,6 +57,7 @@ namespace SqlSugar
}
else {
base.Context.Result.Replace(ExpressionConst.Format1 + parameter.Index, operatorValue);
base.Context.Result.Replace(ExpressionConst.Format1 +(parameter.Index+1), operatorValue);
}
base.Context.Result.Append(ExpressionConst.Format4);
if (parameter.BaseExpression is BinaryExpression && parameter.IsLeft == true)

View File

@@ -15,7 +15,7 @@ namespace SqlSugar
object value = expression.Value;
var baseParameter = parameter.BaseParameter;
baseParameter.ChildExpression = expression;
var isSetTempData = baseParameter.CommonTempData.IsValuable() && baseParameter.CommonTempData.Equals(CommonTempDataType.ChildNodeSet);
var isSetTempData = baseParameter.CommonTempData.IsValuable() && baseParameter.CommonTempData.Equals(CommonTempDataType.Result);
switch (parameter.Context.ResolveType)
{
case ResolveExpressType.SelectSingle:

View File

@@ -15,7 +15,7 @@ namespace SqlSugar
var isLeft = parameter.IsLeft;
object value = ExpressionTool.GetMemberValue(expression.Member, expression);
var baseParameter = parameter.BaseParameter;
var isSetTempData = baseParameter.CommonTempData.IsValuable() && baseParameter.CommonTempData.Equals(CommonTempDataType.ChildNodeSet);
var isSetTempData = baseParameter.CommonTempData.IsValuable() && baseParameter.CommonTempData.Equals(CommonTempDataType.Result);
switch (parameter.Context.ResolveType)
{
case ResolveExpressType.Update:

View File

@@ -12,7 +12,7 @@ namespace SqlSugar
{
var baseParameter = parameter.BaseParameter;
var isLeft = parameter.IsLeft;
var isSetTempData = baseParameter.CommonTempData.IsValuable() && baseParameter.CommonTempData.Equals(CommonTempDataType.ChildNodeSet);
var isSetTempData = baseParameter.CommonTempData.IsValuable() && baseParameter.CommonTempData.Equals(CommonTempDataType.Result);
var expression = base.Expression as MemberExpression;
if (expression.Expression != null&& expression.Expression.NodeType!= ExpressionType.Parameter) {
var value= ExpressionTool.GetMemberValue(expression.Member, expression);
@@ -95,7 +95,7 @@ namespace SqlSugar
private string AppendMember(ExpressionParameter parameter, bool? isLeft, string fieldName)
{
if (parameter.BaseExpression is BinaryExpression)
if (parameter.BaseExpression is BinaryExpression|| (parameter.BaseParameter.CommonTempData!=null&&parameter.BaseParameter.CommonTempData.Equals(CommonTempDataType.Append)))
{
fieldName = string.Format(" {0} ", fieldName);
if (isLeft == true)

View File

@@ -16,7 +16,7 @@ namespace SqlSugar
var isField = expression.Member is System.Reflection.FieldInfo;
var isProperty = expression.Member is System.Reflection.PropertyInfo;
var baseParameter = parameter.BaseParameter;
var isSetTempData = baseParameter.CommonTempData.IsValuable() && baseParameter.CommonTempData.Equals(CommonTempDataType.ChildNodeSet);
var isSetTempData = baseParameter.CommonTempData.IsValuable() && baseParameter.CommonTempData.Equals(CommonTempDataType.Result);
if (isField)
{
value = ExpressionTool.GetFiledValue(expression);

View File

@@ -39,7 +39,7 @@ namespace SqlSugar
{
foreach (var item in args)
{
parameter.CommonTempData = CommonTempDataType.ChildNodeSet;
parameter.CommonTempData = CommonTempDataType.Result;
base.Expression = item;
base.Start();
var methodCallExpressionArgs = new MethodCallExpressionArgs()
@@ -72,7 +72,7 @@ namespace SqlSugar
{
foreach (var item in args)
{
parameter.CommonTempData = CommonTempDataType.ChildNodeSet;
parameter.CommonTempData = CommonTempDataType.Result;
base.Expression = item;
base.Start();
var methodCallExpressionArgs = new MethodCallExpressionArgs()

View File

@@ -45,7 +45,7 @@ namespace SqlSugar
private void Result(ExpressionParameter parameter, ExpressionType nodeType)
{
BaseParameter.ChildExpression = base.Expression;
parameter.CommonTempData = CommonTempDataType.ChildNodeSet;
parameter.CommonTempData = CommonTempDataType.Result;
if (nodeType == ExpressionType.Not)
AppendNot(parameter.CommonTempData);
base.Start();
@@ -57,7 +57,8 @@ namespace SqlSugar
private void Append(ExpressionParameter parameter, ExpressionType nodeType)
{
BaseParameter.ChildExpression = base.Expression;
parameter.CommonTempData = CommonTempDataType.Default;
this.IsLeft = parameter.IsLeft;
parameter.CommonTempData = CommonTempDataType.Append;
if (nodeType == ExpressionType.Not)
AppendNot(parameter.CommonTempData);
base.Start();