diff --git a/src/Umbraco.Core/Persistence/PetaPocoSqlExtensions.cs b/src/Umbraco.Core/Persistence/PetaPocoSqlExtensions.cs index d2fa98ef12..cf7ae44a3e 100644 --- a/src/Umbraco.Core/Persistence/PetaPocoSqlExtensions.cs +++ b/src/Umbraco.Core/Persistence/PetaPocoSqlExtensions.cs @@ -27,6 +27,7 @@ namespace Umbraco.Core.Persistence return sql.From(sqlSyntax.GetQuotedTableName(tableName)); } + [Obsolete("Use the overload specifying ISqlSyntaxProvider instead")] public static Sql Where(this Sql sql, Expression> predicate) { var expresionist = new PocoToSqlExpressionVisitor(); @@ -34,6 +35,13 @@ namespace Umbraco.Core.Persistence return sql.Where(whereExpression, expresionist.GetSqlParameters()); } + public static Sql Where(this Sql sql, Expression> predicate, ISqlSyntaxProvider sqlSyntax) + { + var expresionist = new PocoToSqlExpressionVisitor(sqlSyntax); + var whereExpression = expresionist.Visit(predicate); + return sql.Where(whereExpression, expresionist.GetSqlParameters()); + } + private static string GetFieldName(Expression> fieldSelector, ISqlSyntaxProvider sqlSyntax) { var field = ExpressionHelper.FindProperty(fieldSelector) as PropertyInfo; diff --git a/src/Umbraco.Core/Persistence/Querying/PocoToSqlExpressionVisitor.cs b/src/Umbraco.Core/Persistence/Querying/PocoToSqlExpressionVisitor.cs index 6b527296df..e0a4f07e48 100644 --- a/src/Umbraco.Core/Persistence/Querying/PocoToSqlExpressionVisitor.cs +++ b/src/Umbraco.Core/Persistence/Querying/PocoToSqlExpressionVisitor.cs @@ -14,6 +14,14 @@ namespace Umbraco.Core.Persistence.Querying { private readonly Database.PocoData _pd; + + public PocoToSqlExpressionVisitor(ISqlSyntaxProvider syntaxProvider) + : base(syntaxProvider) + { + + } + + [Obsolete("Use the overload the specifies a SqlSyntaxProvider")] public PocoToSqlExpressionVisitor() : base(SqlSyntaxContext.SqlSyntaxProvider) {