From 691485eded5ab8ef711a19abb307dd634b282d9e Mon Sep 17 00:00:00 2001 From: Sergei Pavlov Date: Tue, 24 Mar 2026 11:48:48 -0700 Subject: [PATCH] Optimization: Avoid iterators --- .../Orm/Building/Builders/DatabaseDependencyBuilder.cs | 3 +-- .../Linq/Expressions/Visitors/IncludeFilterMappingGatherer.cs | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/Orm/Xtensive.Orm/Orm/Building/Builders/DatabaseDependencyBuilder.cs b/Orm/Xtensive.Orm/Orm/Building/Builders/DatabaseDependencyBuilder.cs index 79b4afe58..85e0ae312 100644 --- a/Orm/Xtensive.Orm/Orm/Building/Builders/DatabaseDependencyBuilder.cs +++ b/Orm/Xtensive.Orm/Orm/Building/Builders/DatabaseDependencyBuilder.cs @@ -136,9 +136,8 @@ private DatabaseConfiguration FindConfiguration(string db) private void Visit(string database) { - if (visited.Contains(database)) + if (!visited.Add(database)) return; - visited.Add(database); var references = referenceRegistry.Keys .Where(r => r.OwnerDatabase==database); foreach (var reference in references) { diff --git a/Orm/Xtensive.Orm/Orm/Linq/Expressions/Visitors/IncludeFilterMappingGatherer.cs b/Orm/Xtensive.Orm/Orm/Linq/Expressions/Visitors/IncludeFilterMappingGatherer.cs index 7b1f8ffb9..076b0da17 100644 --- a/Orm/Xtensive.Orm/Orm/Linq/Expressions/Visitors/IncludeFilterMappingGatherer.cs +++ b/Orm/Xtensive.Orm/Orm/Linq/Expressions/Visitors/IncludeFilterMappingGatherer.cs @@ -40,7 +40,7 @@ public static void Gather(Expression filterExpression, Expression filterDataTupl { var visitor = new IncludeFilterMappingGatherer(filterDataTuple, filteredTuple, mapping); _ = visitor.Visit(filterExpression); - if (mapping.Contains(null)) + if (mapping.IndexOf(null) >= 0) throw Exceptions.InternalError("Failed to gather mappings for IncludeProvider", OrmLog.Instance); }