mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2026-02-09 09:16:41 +08:00
#18319: Fixing the Where clause generations in Projections
Work Item: 18319 --HG-- branch : 1.x
This commit is contained in:
@@ -193,27 +193,22 @@ namespace Orchard.ContentManagement {
|
||||
sb.Append(join.Item2.Type).Append(" ").Append(join.Item1.Name + "." + join.Item2.TableName).Append(" as ").Append(join.Item2.Name).AppendLine();
|
||||
}
|
||||
|
||||
#region Where
|
||||
// generating where clause
|
||||
if (_wheres.Any()) {
|
||||
sb.Append("where ");
|
||||
|
||||
bool first = true;
|
||||
foreach (var where in _wheres) {
|
||||
if (!first) {
|
||||
sb.Append("and ");
|
||||
}
|
||||
else {
|
||||
sb.Append("where ");
|
||||
first = false;
|
||||
var expressions = new List<string>();
|
||||
|
||||
foreach (var where in _wheres) {
|
||||
var expressionFactory = new DefaultHqlExpressionFactory();
|
||||
where.Item2(expressionFactory);
|
||||
expressions.Add(expressionFactory.Criterion.ToHql(where.Item1));
|
||||
}
|
||||
|
||||
var expressionFactory = new DefaultHqlExpressionFactory();
|
||||
where.Item2(expressionFactory);
|
||||
sb.Append(expressionFactory.Criterion.ToHql(where.Item1)).AppendLine();
|
||||
sb.Append("(").Append(String.Join(") AND (", expressions.ToArray())).Append(")").AppendLine();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region Order by
|
||||
|
||||
// generating order by clause
|
||||
bool firstSort = true;
|
||||
foreach (var sort in _sortings) {
|
||||
if (!firstSort) {
|
||||
@@ -238,8 +233,6 @@ namespace Orchard.ContentManagement {
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
return sb.ToString();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user