This commit is contained in:
sunkaixuan 2017-01-08 20:55:22 +08:00
parent bc8fad8275
commit 3ecf1beaea
21 changed files with 20 additions and 20 deletions

Binary file not shown.

View File

@ -16,10 +16,11 @@ namespace OrmTest
{
static void Main(string[] args)
{
Expression<Func<Student, bool>> exp = it => it.Name!="a";
string id = "1";
Expression<Func<Student, bool>> exp = it => it.Name!=id;
ExpressionContext expContext = new ExpressionContext(exp, ResolveExpressType.Single);
// var x = expContext.GetFiledName();
var xx = expContext.ToString();
var xx = expContext.ToSqlString();
var b = DateTime.Now;

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

@ -11,6 +11,7 @@ namespace SqlSugar
{
public ResolveExpressType Type { get; set; }
public Expression Expression { get; set; }
public StringBuilder SqlWhere { get; set; }
public virtual string SqlParameterKeyWord
{
get
@ -30,12 +31,12 @@ namespace SqlSugar
this.Expression = expression;
}
public override string ToString()
public string ToSqlString()
{
BaseResolve resolve = new BaseResolve(new ExpressionParameter() { Expression = this.Expression, Context = this });
resolve.Start();
if (resolve.SqlWhere == null) return string.Empty;
return resolve.SqlWhere.ToString();
if (this.SqlWhere == null) return string.Empty;
return this.SqlWhere.ToString();
}
public List<SugarParameter> Parameters

View File

@ -10,7 +10,6 @@ namespace SqlSugar
protected Expression Expression { get; set; }
protected Expression BaseExpression { get; set; }
public ExpressionContext Context { get; set; }
public StringBuilder SqlWhere { get; set; }
public bool? IsLeft { get; set; }
public int ContentIndex { get { return this.Context.Index; } }
public int Index { get; set; }

View File

@ -28,21 +28,21 @@ namespace SqlSugar
string leftString = GetLeftString(parameter);
string rightString = GetRightString(parameter);
string binarySql =string.Format(ExpressionConst.BinaryFormatString,leftString,operatorValue,rightString);
string sqlWhereString = base.SqlWhere.ObjToString();
if (base.SqlWhere == null) {
base.SqlWhere = new StringBuilder();
string sqlWhereString = base.Context.SqlWhere.ObjToString();
if (base.Context.SqlWhere == null) {
base.Context.SqlWhere = new StringBuilder();
}
if (sqlWhereString.Contains(ExpressionConst.Format0))
{
base.SqlWhere.Replace(ExpressionConst.Format0, sqlWhereString);
base.Context.SqlWhere.Replace(ExpressionConst.Format0, binarySql);
}
else
{
base.SqlWhere.Append(binarySql);
base.Context.SqlWhere.Append(binarySql);
}
if (sqlWhereString.Contains(ExpressionConst.Format1))
{
base.SqlWhere.Replace(ExpressionConst.Format1, ExpressionConst.Format0);
base.Context.SqlWhere.Replace(ExpressionConst.Format1, ExpressionConst.Format0);
}
}

View File

@ -23,10 +23,10 @@ namespace SqlSugar
ExpressionType = expression.GetType()
}));
}
if (isLeft == null && base.SqlWhere == null)
if (isLeft == null && base.Context.SqlWhere == null)
{
base.SqlWhere = new StringBuilder();
base.SqlWhere.Append(value);
base.Context.SqlWhere = new StringBuilder();
base.Context.SqlWhere.Append(value);
}
}

View File

@ -14,7 +14,7 @@ namespace SqlSugar
if (expression.NodeType == ExpressionType.MemberAccess)
{
string appendString = "(" +((MemberExpression)expression).Member.Name + "=1)";
base.SqlWhere.Append(appendString);
base.Context.SqlWhere.Append(appendString);
}
else
{

View File

@ -21,10 +21,10 @@ namespace SqlSugar
Value = fieldName,
ExpressionType = expression.GetType()
}));
if (isLeft == null && base.SqlWhere == null)
if (isLeft == null && base.Context.SqlWhere == null)
{
base.SqlWhere = new StringBuilder();
base.SqlWhere.Append(fieldName);
base.Context.SqlWhere = new StringBuilder();
base.Context.SqlWhere.Append(fieldName);
}
}
}

Binary file not shown.

Binary file not shown.

View File

@ -3,4 +3,3 @@ F:\MyOpenSource\SqlSugar4.XNew\SqlSugar\SqlSugar\bin\Debug\SqlSugar.pdb
F:\MyOpenSource\SqlSugar4.XNew\SqlSugar\SqlSugar\bin\Debug\Newtonsoft.Json.dll
F:\MyOpenSource\SqlSugar4.XNew\SqlSugar\SqlSugar\obj\Debug\SqlSugar.dll
F:\MyOpenSource\SqlSugar4.XNew\SqlSugar\SqlSugar\obj\Debug\SqlSugar.pdb
F:\MyOpenSource\SqlSugar4.XNew\SqlSugar\SqlSugar\obj\Debug\SqlSugar.csprojResolveAssemblyReference.cache

Binary file not shown.

Binary file not shown.