Skip to content

Commit b00e1a6

Browse files
committed
feat(IQueryableExtensions): implement the like operation
1 parent dc66195 commit b00e1a6

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

src/JsonApiDotNetCore/Extensions/IQueryableExtensions.cs

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ public static IQueryable<TSource> Filter<TSource>(this IQueryable<TSource> sourc
8686
// {1}
8787
var right = Expression.Constant(convertedValue, property.PropertyType);
8888

89-
var body = Expression.Equal(left, right);
89+
Expression body;
9090
switch (filterQuery.FilterOperation)
9191
{
9292
case FilterOperations.eq:
@@ -109,6 +109,12 @@ public static IQueryable<TSource> Filter<TSource>(this IQueryable<TSource> sourc
109109
// {model.Id <= 1}
110110
body = Expression.GreaterThanOrEqual(left, right);
111111
break;
112+
case FilterOperations.like:
113+
// {model.Id <= 1}
114+
body = Expression.Call(left, "Contains", null, right);
115+
break;
116+
default:
117+
throw new JsonApiException("500", $"Unknown filter operation {filterQuery.FilterOperation}");
112118
}
113119

114120
var lambda = Expression.Lambda<Func<TSource, bool>>(body, parameter);

0 commit comments

Comments
 (0)