Optimize LINQ queries AliasStep and RolesStep.

This commit is contained in:
mahsaro
2015-08-04 21:44:13 +01:00
parent 492631da85
commit 14ddaeb713
3 changed files with 4 additions and 7 deletions

View File

@@ -53,7 +53,6 @@ namespace Orchard.Alias.Controllers {
aliases = aliases.Where(x => x.Path.ToLowerInvariant().Contains(invariantSearch)); aliases = aliases.Where(x => x.Path.ToLowerInvariant().Contains(invariantSearch));
} }
aliases = aliases.ToList();
var pagerShape = Services.New.Pager(pager).TotalItemCount(aliases.Count()); var pagerShape = Services.New.Pager(pager).TotalItemCount(aliases.Count());
switch (options.Order) { switch (options.Order) {
@@ -119,8 +118,6 @@ namespace Orchard.Alias.Controllers {
aliases = aliases.Where(x => x.Path.ToLowerInvariant().Contains(invariantSearch)); aliases = aliases.Where(x => x.Path.ToLowerInvariant().Contains(invariantSearch));
} }
aliases = aliases.ToList();
var pagerShape = Services.New.Pager(pager).TotalItemCount(aliases.Count()); var pagerShape = Services.New.Pager(pager).TotalItemCount(aliases.Count());
switch (options.Order) { switch (options.Order) {

View File

@@ -29,7 +29,7 @@ namespace Orchard.Alias.Recipes.Builders {
} }
public override void Build(BuildContext context) { 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()) if (!aliases.Any())
return; return;
@@ -37,7 +37,7 @@ namespace Orchard.Alias.Recipes.Builders {
var root = new XElement("Aliases"); var root = new XElement("Aliases");
context.RecipeDocument.Element("Orchard").Add(root); 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 aliasElement = new XElement("Alias", new XAttribute("Path", alias.Path));
var routeValuesElement = new XElement("RouteValues"); var routeValuesElement = new XElement("RouteValues");

View File

@@ -26,7 +26,7 @@ namespace Orchard.Roles.Recipes.Builders {
} }
public override void Build(BuildContext context) { public override void Build(BuildContext context) {
var roles = _roleRecordepository.Table.ToList(); var roles = _roleRecordepository.Table.OrderBy(x => x.Name).ToList();
if (!roles.Any()) if (!roles.Any())
return; return;
@@ -34,7 +34,7 @@ namespace Orchard.Roles.Recipes.Builders {
var root = new XElement("Roles"); var root = new XElement("Roles");
context.RecipeDocument.Element("Orchard").Add(root); context.RecipeDocument.Element("Orchard").Add(root);
foreach (var role in roles.OrderBy(x => x.Name)) { foreach (var role in roles) {
root.Add( root.Add(
new XElement("Role", new XElement("Role",
new XAttribute("Name", role.Name), new XAttribute("Name", role.Name),