Skip to content

Commit c74c269

Browse files
committed
Merge pull request umbraco#535 from zpqrtbnk/7.2.0-wherein
Add WhereIn PetaPoco Sql Extension
2 parents 0cbdebc + 0cb3968 commit c74c269

File tree

1 file changed

+9
-2
lines changed

1 file changed

+9
-2
lines changed

src/Umbraco.Core/Persistence/PetaPocoSqlExtensions.cs

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
using System;
2+
using System.Collections;
23
using System.Linq;
34
using System.Linq.Expressions;
45
using System.Reflection;
@@ -24,11 +25,17 @@ public static Sql From<T>(this Sql sql)
2425
public static Sql Where<T>(this Sql sql, Expression<Func<T, bool>> predicate)
2526
{
2627
var expresionist = new PocoToSqlExpressionHelper<T>();
27-
string whereExpression = expresionist.Visit(predicate);
28-
28+
var whereExpression = expresionist.Visit(predicate);
2929
return sql.Where(whereExpression, expresionist.GetSqlParameters());
3030
}
3131

32+
public static Sql WhereIn<T>(this Sql sql, Expression<Func<T, object>> fieldSelector, IEnumerable values)
33+
{
34+
var expresionist = new PocoToSqlExpressionHelper<T>();
35+
var fieldExpression = expresionist.Visit(fieldSelector);
36+
return sql.Where(fieldExpression + " IN (@values)", new {@values = values});
37+
}
38+
3239
public static Sql OrderBy<TColumn>(this Sql sql, Expression<Func<TColumn, object>> columnMember)
3340
{
3441
var column = ExpressionHelper.FindProperty(columnMember) as PropertyInfo;

0 commit comments

Comments
 (0)