diff --git a/src/Umbraco.Core/Persistence/Repositories/MediaRepository.cs b/src/Umbraco.Core/Persistence/Repositories/MediaRepository.cs index 603bef04c8..97981849bc 100644 --- a/src/Umbraco.Core/Persistence/Repositories/MediaRepository.cs +++ b/src/Umbraco.Core/Persistence/Repositories/MediaRepository.cs @@ -453,8 +453,16 @@ namespace Umbraco.Core.Persistence.Repositories Func> filterCallback = null; if (filter.IsNullOrWhiteSpace() == false) { - sbWhere.Append("AND (umbracoNode." + SqlSyntax.GetQuotedColumnName("text") + " LIKE @" + args.Count + ")"); + sbWhere + .Append("AND (") + .Append(SqlSyntax.GetQuotedTableName("umbracoNode")) + .Append(".") + .Append(SqlSyntax.GetQuotedColumnName("text")) + .Append(" LIKE @") + .Append(args.Count) + .Append(")"); args.Add("%" + filter + "%"); + filterCallback = () => new Tuple(sbWhere.ToString().Trim(), args.ToArray()); } diff --git a/src/Umbraco.Core/Persistence/Repositories/MemberRepository.cs b/src/Umbraco.Core/Persistence/Repositories/MemberRepository.cs index 5253e81a05..f14d66691b 100644 --- a/src/Umbraco.Core/Persistence/Repositories/MemberRepository.cs +++ b/src/Umbraco.Core/Persistence/Repositories/MemberRepository.cs @@ -622,9 +622,32 @@ namespace Umbraco.Core.Persistence.Repositories Func> filterCallback = null; if (filter.IsNullOrWhiteSpace() == false) { - sbWhere.Append("AND ((umbracoNode. " + SqlSyntax.GetQuotedColumnName("text") + " LIKE @" + args.Count + ") " + - "OR (cmsMember.LoginName LIKE @0" + args.Count + "))"); - args.Add("%" + filter + "%"); + //This will build up the where clause - even though the same 'filter' is being + //applied to both columns, the parameters values passed to PetaPoco need to be + //duplicated, otherwise it gets confused :/ + var columnFilters = new List> + { + new Tuple("umbracoNode", "text"), + new Tuple("cmsMember", "LoginName") + }; + sbWhere.Append("AND ("); + for (int i = 0; i < columnFilters.Count; i++) + { + sbWhere + .Append("(") + .Append(SqlSyntax.GetQuotedTableName(columnFilters[i].Item1)) + .Append(".") + .Append(SqlSyntax.GetQuotedColumnName(columnFilters[i].Item2)) + .Append(" LIKE @") + .Append(args.Count) + .Append(") "); + args.Add(string.Format("%{0}%", filter)); + if (i < (columnFilters.Count - 1)) + { + sbWhere.Append("OR "); + } + } + sbWhere.Append(")"); filterCallback = () => new Tuple(sbWhere.ToString().Trim(), args.ToArray()); }