This commit is contained in:
sunkaixuan 2017-01-08 22:50:42 +08:00
parent 07a60b5b14
commit 48630e4b6e
19 changed files with 13 additions and 11 deletions

Binary file not shown.

View File

@ -25,7 +25,7 @@ namespace OrmTest
string x = "1"; string x = "1";
Expression<Func<Student, bool>> exp = it => it.Name==new Program().x; Expression<Func<Student, bool>> exp = it => it.Name==new Program().x;
// Expression<Func<Student, object>> exp = it => it.Name; // Expression<Func<Student, object>> exp = it => it.Name;
ExpressionContext expContext = new ExpressionContext(exp, ResolveExpressType.Single); ExpressionContext expContext = new ExpressionContext(exp, ResolveExpressType.WhereSingle);
// var x = expContext.GetFiledName(); // var x = expContext.GetFiledName();
var xx = expContext.ToSqlString(); var xx = expContext.ToSqlString();

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -86,7 +86,7 @@ namespace SqlSugar
} }
else else
{ {
if (Type == ResolveExpressType.Multiple) if (Type == ResolveExpressType.WhereMultiple)
{ {
type = MemberType.Key; type = MemberType.Key;
var dbName = exp.ToString(); var dbName = exp.ToString();

View File

@ -39,7 +39,7 @@ namespace SqlSugar
} }
public string SqlWhere = null; public string SqlWhere = null;
public ResolveExpressType Type = ResolveExpressType.Single; public ResolveExpressType Type = ResolveExpressType.WhereSingle;
public List<SqlParameter> Paras = new List<SqlParameter>(); public List<SqlParameter> Paras = new List<SqlParameter>();
private int SameIndex = 1; private int SameIndex = 1;
private SqlSugarClient DB; private SqlSugarClient DB;
@ -272,7 +272,7 @@ namespace SqlSugar
string oldLeft = left; string oldLeft = left;
left = left + SameIndex; left = left + SameIndex;
SameIndex++; SameIndex++;
if (Type != ResolveExpressType.Single) if (Type != ResolveExpressType.WhereSingle)
{ {
left = left.Replace(".", "_"); left = left.Replace(".", "_");
} }
@ -298,7 +298,7 @@ namespace SqlSugar
string oldRight = right; string oldRight = right;
right = right + SameIndex; right = right + SameIndex;
SameIndex++; SameIndex++;
if (Type != ResolveExpressType.Single) if (Type != ResolveExpressType.WhereSingle)
{ {
right = right.Replace(".", "_"); right = right.Replace(".", "_");
} }

View File

@ -28,7 +28,7 @@ namespace SqlSugar
public virtual ISugarQueryable<T> Where(Expression<Func<T, bool>> expression) public virtual ISugarQueryable<T> Where(Expression<Func<T, bool>> expression)
{ {
base.Where<T>(expression, ResolveExpressType.Single, this.Context); base.Where<T>(expression, ResolveExpressType.WhereSingle, this.Context);
return this; return this;
} }
@ -299,7 +299,7 @@ namespace SqlSugar
var sqlBuilder = this.Context.SqlBuilder; var sqlBuilder = this.Context.SqlBuilder;
var items = sqlBuilder.LambadaQueryBuilder; var items = sqlBuilder.LambadaQueryBuilder;
items.WhereIndex = items.WhereIndex + 100; items.WhereIndex = items.WhereIndex + 100;
items.ResolveType = ResolveExpressType.Multiple; items.ResolveType = ResolveExpressType.WhereMultiple;
ResolveExpress re = new ResolveExpress(); ResolveExpress re = new ResolveExpress();
re.Context = this.Context; re.Context = this.Context;
var exLeftArray = re.GetLeftArray(expression); var exLeftArray = re.GetLeftArray(expression);

View File

@ -7,7 +7,9 @@ namespace SqlSugar
{ {
public enum ResolveExpressType public enum ResolveExpressType
{ {
Single = 0, WhereSingle = 0,
Multiple = 1, WhereMultiple = 1,
SelectSingle=2,
SelectMultiple=3
} }
} }

View File

@ -27,7 +27,7 @@ namespace SqlSugar
{ {
get get
{ {
return this.Type == ResolveExpressType.Single; return this.Type == ResolveExpressType.WhereSingle;
} }
} }
public List<SugarParameter> Parameters public List<SugarParameter> Parameters

View File

@ -19,7 +19,7 @@ namespace SqlSugar
var isProperty = expression.Member is System.Reflection.PropertyInfo; var isProperty = expression.Member is System.Reflection.PropertyInfo;
if (isField) if (isField)
{ {
value = ExpressionTool.GetFiledValue(expression.Expression as MemberExpression); value = ExpressionTool.GetFiledValue(expression);
} }
else if (isProperty) else if (isProperty)
{ {

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.