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
db.IgnoreComumns.Add("TestId", "Student");
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 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();

View File

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

View File

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

View File

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