mirror of
https://github.com/OrchardCMS/Orchard.git
synced 2025-08-01 19:06:11 +08:00
#18319: Fixing the Where clause generations in Projections
Work Item: 18319 --HG-- branch : 1.x
This commit is contained in:
parent
bbcd00ae8b
commit
af87c07ebf
@ -1,5 +1,5 @@
|
||||
eb12bf266fcd8334b7a20d7553dd28f9c80dfa07 src/Orchard.Web/Modules/Orchard.Forms
|
||||
8a370b966ac7ccbb6564af4b748084c2e68438d3 src/Orchard.Web/Modules/Orchard.Projections
|
||||
6668e827c75141ac2f49664a1f6461b8aa7ee618 src/Orchard.Web/Modules/Orchard.Projections
|
||||
7e6e3d2e72d94c3f78e8aecc0aa87ede108226bd src/Orchard.Web/Modules/Orchard.Rules
|
||||
c6098ad6c3fdb614901e8946d8e298e3c50f3ea1 src/Orchard.Web/Modules/Orchard.TaskLease
|
||||
4c4fd36df9d1337c0b6801960d02221debcf4388 src/Orchard.Web/Modules/Orchard.Tokens
|
||||
|
@ -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();
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user