From 1a821b407319e3726affdf6cd01ae219afc3ab95 Mon Sep 17 00:00:00 2001 From: Shannon Date: Tue, 1 Jul 2014 17:41:22 +1000 Subject: [PATCH 1/4] 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 e29413aa52..541690e9ea 100644 --- a/src/Umbraco.Core/Persistence/Repositories/RepositoryBase.cs +++ b/src/Umbraco.Core/Persistence/Repositories/RepositoryBase.cs @@ -130,6 +130,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