Skip to content

Commit 3a8a5b0

Browse files
authored
adding back context for lost where clauses (#314)
1 parent 79b02e9 commit 3a8a5b0

File tree

2 files changed

+27
-2
lines changed

2 files changed

+27
-2
lines changed

src/Redis.OM/Common/ExpressionTranslator.cs

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -233,6 +233,9 @@ internal static RedisQuery BuildQueryFromExpression(Expression expression, Type
233233
case "GeoFilter":
234234
query.GeoFilter = ExpressionParserUtilities.TranslateGeoFilter(exp);
235235
break;
236+
case "Where":
237+
query.QueryText = TranslateWhereMethod(exp);
238+
break;
236239
}
237240
}
238241

@@ -244,8 +247,10 @@ internal static RedisQuery BuildQueryFromExpression(Expression expression, Type
244247
break;
245248
}
246249

247-
query.QueryText = mainBooleanExpression == null ? "*" : BuildQueryFromExpression(
248-
((LambdaExpression)mainBooleanExpression).Body);
250+
if (mainBooleanExpression != null)
251+
{
252+
query.QueryText = BuildQueryFromExpression(((LambdaExpression)mainBooleanExpression).Body);
253+
}
249254

250255
return query;
251256
}

test/Redis.OM.Unit.Tests/RediSearchTests/SearchTests.cs

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2851,8 +2851,28 @@ public void TestGeoFilterNested()
28512851
));
28522852
}
28532853

2854+
[Fact]
2855+
public void TestSelectWithWhere()
2856+
{
2857+
_mock.Setup(x => x.Execute(It.IsAny<string>(), It.IsAny<string[]>()))
2858+
.Returns(_mockReply);
2859+
var collection = new RedisCollection<Person>(_mock.Object);
2860+
_ = collection.Where(x => x.Age == 33).Select(x => x.Name).ToList();
2861+
_mock.Verify(x => x.Execute(
2862+
"FT.SEARCH",
2863+
"person-idx",
2864+
"(@Age:[33 33])",
2865+
"LIMIT",
2866+
"0",
2867+
"100",
2868+
"RETURN",
2869+
"1",
2870+
"Name"));
2871+
}
2872+
28542873
[Fact]
28552874
public void TestNullableEnumQueries()
2875+
28562876
{
28572877
_mock.Setup(x => x.Execute(It.IsAny<string>(), It.IsAny<string[]>()))
28582878
.Returns(_mockReply);

0 commit comments

Comments
 (0)