Skip to content

Commit facf239

Browse files
Ihar YakimushIhar Yakimush
authored andcommitted
select support sorting by projected members
1 parent 69a0855 commit facf239

File tree

2 files changed

+12
-1
lines changed

2 files changed

+12
-1
lines changed

SolrNet.Linq.IntegrationTests/SelectTests.cs

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,10 +48,16 @@ public void Product2()
4848
Assert.Equal("Id:id", qo.Fields.ElementAt(1));
4949
Assert.Equal("Price:price", qo.Fields.ElementAt(2));
5050
Assert.Equal("Categories:cat", qo.Fields.ElementAt(3));
51+
52+
Assert.Equal(3, qo.OrderBy.Count);
53+
Assert.Equal("id", qo.OrderBy.ElementAt(0).FieldName);
54+
Assert.Equal("pow(2,2)", qo.OrderBy.ElementAt(1).FieldName);
55+
Assert.Equal("pow(2,3)", qo.OrderBy.ElementAt(2).FieldName);
56+
5157
}).Where(p => p.Id != null)
5258
.Select(p => new Product2 {Id = p.Id, Price = p.Price, Categories = p.Categories, Qwe = Math.Pow(2, 2)})
5359
.Where(arg => arg.Categories.Any(s => s == "electronics"))
54-
.OrderBy(arg => arg.Id)
60+
.OrderBy(arg => arg.Id).ThenBy(arg => arg.Qwe).ThenBy(arg => Math.Pow(2,3))
5561
.FirstOrDefault();
5662

5763
Assert.NotNull(t1);

SolrNet.Linq/Expressions/Context/SelectContext.cs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,11 @@ public override string GetSolrMemberProduct(Expression expression, bool disableF
6565
{
6666
return Members[me.Member];
6767
}
68+
69+
if (Aliases.ContainsKey(me.Member) && disableFunctions == false)
70+
{
71+
return Aliases[me.Member];
72+
}
6873
}
6974

7075
return expression.GetSolrMemberProduct(this, disableFunctions);

0 commit comments

Comments
 (0)