From efda233fcfbfa3ec4545915ac65e5878def77fe9 Mon Sep 17 00:00:00 2001 From: Shannon Date: Tue, 1 Jul 2014 17:40:41 +1000 Subject: [PATCH] super quick performance win in the case where people don't pass in distinct values --- src/Umbraco.Core/Persistence/Repositories/RepositoryBase.cs | 3 +++ src/Umbraco.Core/Persistence/Repositories/ScriptRepository.cs | 3 +++ .../Persistence/Repositories/StylesheetRepository.cs | 3 +++ 3 files changed, 9 insertions(+) diff --git a/src/Umbraco.Core/Persistence/Repositories/RepositoryBase.cs b/src/Umbraco.Core/Persistence/Repositories/RepositoryBase.cs index de20cc4fe8..0669db97a5 100644 --- a/src/Umbraco.Core/Persistence/Repositories/RepositoryBase.cs +++ b/src/Umbraco.Core/Persistence/Repositories/RepositoryBase.cs @@ -133,6 +133,9 @@ namespace Umbraco.Core.Persistence.Repositories /// public IEnumerable GetAll(params TId[] ids) { + //ensure they are de-duplicated, easy win if people don't do this as this can cause many excess queries + ids = ids.Distinct().ToArray(); + if (ids.Any()) { var entities = _cache.GetByIds( diff --git a/src/Umbraco.Core/Persistence/Repositories/ScriptRepository.cs b/src/Umbraco.Core/Persistence/Repositories/ScriptRepository.cs index f6af195b94..b09930ae3f 100644 --- a/src/Umbraco.Core/Persistence/Repositories/ScriptRepository.cs +++ b/src/Umbraco.Core/Persistence/Repositories/ScriptRepository.cs @@ -64,6 +64,9 @@ namespace Umbraco.Core.Persistence.Repositories public override IEnumerable