This commit is contained in:
sunkaixuan
2017-04-26 02:14:09 +08:00
parent 00b78e47a9
commit 83238ec3d7
4 changed files with 29 additions and 12 deletions

View File

@@ -39,6 +39,7 @@ namespace OrmTest.UnitTest
#region dr ot entity #region dr ot entity
db.IgnoreComumns.Add("TestId", "Student"); db.IgnoreComumns.Add("TestId", "Student");
var d5 = db.Queryable<Student>().ToList(); var d5 = db.Queryable<Student>().ToList();
var d51 = db.Queryable<Student>().OrderBy(it=>it.Id).ToSql();
var dr3 = db.Queryable<Student>().Select(it => new ViewModelStudent2 { Name=it.Name,Student=it}).ToList(); var dr3 = db.Queryable<Student>().Select(it => new ViewModelStudent2 { Name=it.Name,Student=it}).ToList();
var dr0 = db.Queryable<Student>().Select(it => new { id=it.Id,w=new { x=it } }).ToList(); var dr0 = db.Queryable<Student>().Select(it => new { id=it.Id,w=new { x=it } }).ToList();
var dr1 = db.Queryable<Student>().Select(it => new { newid = it.Id }).ToList(); var dr1 = db.Queryable<Student>().Select(it => new { newid = it.Id }).ToList();

View File

@@ -173,6 +173,9 @@ namespace SqlSugar
public ISugarQueryable<T> OrderBy(string orderFileds) public ISugarQueryable<T> OrderBy(string orderFileds)
{ {
var orderByValue = SqlBuilder.LambadaQueryBuilder.OrderByValue; var orderByValue = SqlBuilder.LambadaQueryBuilder.OrderByValue;
if (SqlBuilder.LambadaQueryBuilder.OrderByValue.IsNullOrEmpty()) {
SqlBuilder.LambadaQueryBuilder.OrderByValue = "ORDER ";
}
SqlBuilder.LambadaQueryBuilder.OrderByValue += string.IsNullOrEmpty(orderByValue) ? orderFileds : ("," + orderFileds); SqlBuilder.LambadaQueryBuilder.OrderByValue += string.IsNullOrEmpty(orderByValue) ? orderFileds : ("," + orderFileds);
return this; return this;
} }
@@ -416,7 +419,7 @@ namespace SqlSugar
{ {
var isSingle = SqlBuilder.LambadaQueryBuilder.IsSingle(); var isSingle = SqlBuilder.LambadaQueryBuilder.IsSingle();
var orderByValue = SqlBuilder.LambadaQueryBuilder.GetExpressionValue(expression, isSingle ? ResolveExpressType.FieldSingle : ResolveExpressType.FieldMultiple); var orderByValue = SqlBuilder.LambadaQueryBuilder.GetExpressionValue(expression, isSingle ? ResolveExpressType.FieldSingle : ResolveExpressType.FieldMultiple);
OrderBy(orderByValue + " " + type.ToString().ToUpper()); OrderBy(orderByValue.GetResultString() + " " + type.ToString().ToUpper());
return this; return this;
} }
#endregion #endregion

View File

@@ -82,7 +82,7 @@ namespace SqlSugar
{ {
get get
{ {
return "SELECT {0} FROM {1} {2}"; return "SELECT {0} FROM {1} {2} {3} {4}";
} }
} }
public virtual string JoinTemplate public virtual string JoinTemplate
@@ -117,12 +117,7 @@ namespace SqlSugar
public virtual string ToSqlString() public virtual string ToSqlString()
{ {
Sql = new StringBuilder(); Sql = new StringBuilder();
var tableString = GetTableNameString; Sql.AppendFormat(SqlTemplate, GetSelectValue, GetTableNameString, GetWhereValueString,GetGroupByString,GetOrderByString);
if (this.JoinQueryInfos.IsValuable())
{
tableString = tableString + " " + GetJoinValueString;
}
Sql.AppendFormat(SqlTemplate, GetSelectValue, tableString, GetWhereValueString);
return Sql.ToString(); return Sql.ToString();
} }
public virtual string ToJoinString(JoinQueryInfo joinInfo) public virtual string ToJoinString(JoinQueryInfo joinInfo)
@@ -227,9 +222,29 @@ namespace SqlSugar
{ {
result += " " + TableShortName; result += " " + TableShortName;
} }
if (!this.IsSingle())
{
result = result + " " + GetJoinValueString;
}
return result; return result;
} }
} }
public virtual string GetOrderByString
{
get
{
return this.OrderByValue;
}
}
public virtual string GetGroupByString
{
get
{
return this.GroupByValue;
}
}
#endregion #endregion
} }
} }

View File

@@ -15,6 +15,8 @@ namespace SqlSugar
{ {
case ResolveExpressType.WhereSingle: case ResolveExpressType.WhereSingle:
case ResolveExpressType.WhereMultiple: case ResolveExpressType.WhereMultiple:
case ResolveExpressType.FieldSingle:
case ResolveExpressType.FieldMultiple:
base.Expression = expression.Operand; base.Expression = expression.Operand;
if (base.Expression is MemberExpression || base.Expression is ConstantExpression) if (base.Expression is MemberExpression || base.Expression is ConstantExpression)
{ {
@@ -38,10 +40,6 @@ namespace SqlSugar
break; break;
case ResolveExpressType.SelectMultiple: case ResolveExpressType.SelectMultiple:
break; break;
case ResolveExpressType.FieldSingle:
break;
case ResolveExpressType.FieldMultiple:
break;
default: default:
break; break;
} }