diff --git a/src/Orchard.Web/Modules/Orchard.Tags/Services/TagService.cs b/src/Orchard.Web/Modules/Orchard.Tags/Services/TagService.cs index 0b025de03..426c14b91 100644 --- a/src/Orchard.Web/Modules/Orchard.Tags/Services/TagService.cs +++ b/src/Orchard.Web/Modules/Orchard.Tags/Services/TagService.cs @@ -2,6 +2,7 @@ using System.Collections.Generic; using System.Linq; using JetBrains.Annotations; +using Orchard.Core.Common.Models; using Orchard.Data; using Orchard.Localization; using Orchard.Logging; @@ -128,12 +129,11 @@ namespace Orchard.Tags.Services { } public IEnumerable GetTaggedContentItems(int tagId, int skip, int take, VersionOptions options) { - return _contentTagRepository - .Fetch(x => x.TagRecord.Id == tagId) - .Skip(skip) - .Take(take) - .Select(t => _orchardServices.ContentManager.Get(t.TagsPartRecord.Id, options)) - .Where(c => c != null); + return _orchardServices.ContentManager + .Query() + .Where(tpr => tpr.Tags.Any(tr => tr.TagRecord.Id == tagId)) + .Join().OrderByDescending(x => x.CreatedUtc) + .Slice(skip, take); } public int GetTaggedContentItemCount(int tagId) {