From 2a09f02afb7fcaaf4c687ce203573d9e6d53ea6e Mon Sep 17 00:00:00 2001 From: Morten Christensen Date: Thu, 7 Mar 2013 19:56:10 -0100 Subject: [PATCH] Fixing incorrect sql syntax when the query contains two expressions. --- .../Persistence/Querying/ModelToSqlExpressionHelper.cs | 3 ++- src/Umbraco.Core/Services/ContentService.cs | 2 +- src/Umbraco.Core/Services/MediaService.cs | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/Umbraco.Core/Persistence/Querying/ModelToSqlExpressionHelper.cs b/src/Umbraco.Core/Persistence/Querying/ModelToSqlExpressionHelper.cs index 3f0495cfd5..dff000acc2 100644 --- a/src/Umbraco.Core/Persistence/Querying/ModelToSqlExpressionHelper.cs +++ b/src/Umbraco.Core/Persistence/Querying/ModelToSqlExpressionHelper.cs @@ -523,7 +523,8 @@ namespace Umbraco.Core.Persistence.Querying protected bool IsFieldName(string quotedExp) { - return true; + //Not entirely sure this is reliable, but its better then simply returning true + return quotedExp.LastIndexOf("'", StringComparison.InvariantCultureIgnoreCase) + 1 != quotedExp.Length; } } } \ No newline at end of file diff --git a/src/Umbraco.Core/Services/ContentService.cs b/src/Umbraco.Core/Services/ContentService.cs index fcd56259c7..438897cec8 100644 --- a/src/Umbraco.Core/Services/ContentService.cs +++ b/src/Umbraco.Core/Services/ContentService.cs @@ -194,7 +194,7 @@ namespace Umbraco.Core.Services { using (var repository = _repositoryFactory.CreateContentRepository(_uowProvider.GetUnitOfWork())) { - var query = Query.Builder.Where(x => x.Level == level && x.Path.Contains("-20") == false); + var query = Query.Builder.Where(x => x.Level == level && !x.Path.StartsWith("-20")); var contents = repository.GetByQuery(query); return contents; diff --git a/src/Umbraco.Core/Services/MediaService.cs b/src/Umbraco.Core/Services/MediaService.cs index 148b28ac8c..57168ec8c8 100644 --- a/src/Umbraco.Core/Services/MediaService.cs +++ b/src/Umbraco.Core/Services/MediaService.cs @@ -155,7 +155,7 @@ namespace Umbraco.Core.Services { using (var repository = _repositoryFactory.CreateMediaRepository(_uowProvider.GetUnitOfWork())) { - var query = Query.Builder.Where(x => x.Level == level && x.Path.Contains("-21") == false); + var query = Query.Builder.Where(x => x.Level == level && !x.Path.StartsWith("-21")); var contents = repository.GetByQuery(query); return contents;