From 14ddaeb713a1cc9a6cf7d1271c53e19a337d6ca3 Mon Sep 17 00:00:00 2001 From: mahsaro Date: Tue, 4 Aug 2015 21:44:13 +0100 Subject: [PATCH] Optimize LINQ queries AliasStep and RolesStep. --- .../Modules/Orchard.Alias/Controllers/AdminController.cs | 3 --- .../Modules/Orchard.Alias/Recipes/Builders/AliasStep.cs | 4 ++-- .../Modules/Orchard.Roles/Recipes/Builders/RolesStep.cs | 4 ++-- 3 files changed, 4 insertions(+), 7 deletions(-) diff --git a/src/Orchard.Web/Modules/Orchard.Alias/Controllers/AdminController.cs b/src/Orchard.Web/Modules/Orchard.Alias/Controllers/AdminController.cs index b35d4c1b3..cbfe821ef 100644 --- a/src/Orchard.Web/Modules/Orchard.Alias/Controllers/AdminController.cs +++ b/src/Orchard.Web/Modules/Orchard.Alias/Controllers/AdminController.cs @@ -53,7 +53,6 @@ namespace Orchard.Alias.Controllers { aliases = aliases.Where(x => x.Path.ToLowerInvariant().Contains(invariantSearch)); } - aliases = aliases.ToList(); var pagerShape = Services.New.Pager(pager).TotalItemCount(aliases.Count()); switch (options.Order) { @@ -119,8 +118,6 @@ namespace Orchard.Alias.Controllers { aliases = aliases.Where(x => x.Path.ToLowerInvariant().Contains(invariantSearch)); } - aliases = aliases.ToList(); - var pagerShape = Services.New.Pager(pager).TotalItemCount(aliases.Count()); switch (options.Order) { diff --git a/src/Orchard.Web/Modules/Orchard.Alias/Recipes/Builders/AliasStep.cs b/src/Orchard.Web/Modules/Orchard.Alias/Recipes/Builders/AliasStep.cs index 2ba2581f7..6b6b8682f 100644 --- a/src/Orchard.Web/Modules/Orchard.Alias/Recipes/Builders/AliasStep.cs +++ b/src/Orchard.Web/Modules/Orchard.Alias/Recipes/Builders/AliasStep.cs @@ -29,7 +29,7 @@ namespace Orchard.Alias.Recipes.Builders { } public override void Build(BuildContext context) { - var aliases = _aliasHolder.GetMaps().SelectMany(m => m.GetAliases()).Where(m => m.IsManaged == false).ToList(); + var aliases = _aliasHolder.GetMaps().SelectMany(m => m.GetAliases()).Where(m => m.IsManaged == false).OrderBy(m => m.Path).ToList(); if (!aliases.Any()) return; @@ -37,7 +37,7 @@ namespace Orchard.Alias.Recipes.Builders { var root = new XElement("Aliases"); context.RecipeDocument.Element("Orchard").Add(root); - foreach (var alias in aliases.OrderBy(x => x.Path)) { + foreach (var alias in aliases) { var aliasElement = new XElement("Alias", new XAttribute("Path", alias.Path)); var routeValuesElement = new XElement("RouteValues"); diff --git a/src/Orchard.Web/Modules/Orchard.Roles/Recipes/Builders/RolesStep.cs b/src/Orchard.Web/Modules/Orchard.Roles/Recipes/Builders/RolesStep.cs index 05c98912a..577ca085e 100644 --- a/src/Orchard.Web/Modules/Orchard.Roles/Recipes/Builders/RolesStep.cs +++ b/src/Orchard.Web/Modules/Orchard.Roles/Recipes/Builders/RolesStep.cs @@ -26,7 +26,7 @@ namespace Orchard.Roles.Recipes.Builders { } public override void Build(BuildContext context) { - var roles = _roleRecordepository.Table.ToList(); + var roles = _roleRecordepository.Table.OrderBy(x => x.Name).ToList(); if (!roles.Any()) return; @@ -34,7 +34,7 @@ namespace Orchard.Roles.Recipes.Builders { var root = new XElement("Roles"); context.RecipeDocument.Element("Orchard").Add(root); - foreach (var role in roles.OrderBy(x => x.Name)) { + foreach (var role in roles) { root.Add( new XElement("Role", new XAttribute("Name", role.Name),