From 7cb2bf7370408109fee25809fd85b2c30d7528d4 Mon Sep 17 00:00:00 2001 From: Andriy Svyryd Date: Wed, 9 Sep 2020 16:31:55 -0700 Subject: [PATCH] Remove extra ToList calls in MigrationsModelDiffer --- .../Migrations/Internal/MigrationsModelDiffer.cs | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/EFCore.Relational/Migrations/Internal/MigrationsModelDiffer.cs b/src/EFCore.Relational/Migrations/Internal/MigrationsModelDiffer.cs index 73291ab01b6..ed91236f62e 100644 --- a/src/EFCore.Relational/Migrations/Internal/MigrationsModelDiffer.cs +++ b/src/EFCore.Relational/Migrations/Internal/MigrationsModelDiffer.cs @@ -304,7 +304,7 @@ protected virtual IReadOnlyList Sort( } } - createTableOperations = createTableGraph.TopologicalSort( + createTableOperations = (List)createTableGraph.TopologicalSort( (principalCreateTableOperation, createTableOperation, cyclicAddForeignKeyOperations) => { foreach (var cyclicAddForeignKeyOperation in cyclicAddForeignKeyOperations) @@ -321,7 +321,7 @@ protected virtual IReadOnlyList Sort( } return true; - }).ToList(); + }); var dropTableGraph = new Multigraph(); dropTableGraph.AddVertices(dropTableOperations); @@ -340,13 +340,13 @@ protected virtual IReadOnlyList Sort( } var newDiffContext = new DiffContext(); - dropTableOperations = dropTableGraph.TopologicalSort( + dropTableOperations = (List)dropTableGraph.TopologicalSort( (dropTableOperation, principalDropTableOperation, foreignKeys) => { dropForeignKeyOperations.AddRange(foreignKeys.SelectMany(c => Remove(c, newDiffContext))); return true; - }).ToList(); + }); return dropForeignKeyOperations .Concat(dropTableOperations) @@ -429,7 +429,6 @@ private IEnumerable DiffAnnotations( IRelationalModel source, IRelationalModel target) { - var sourceMigrationsAnnotations = source?.GetAnnotations().ToList(); var targetMigrationsAnnotations = target?.GetAnnotations().ToList(); if (source == null) @@ -446,17 +445,18 @@ private IEnumerable DiffAnnotations( if (target == null) { - sourceMigrationsAnnotations = MigrationsAnnotations.ForRemove(source).ToList(); - if (sourceMigrationsAnnotations.Count > 0) + var sourceMigrationsAnnotationsForRemoved = MigrationsAnnotations.ForRemove(source).ToList(); + if (sourceMigrationsAnnotationsForRemoved.Count > 0) { var alterDatabaseOperation = new AlterDatabaseOperation(); - alterDatabaseOperation.OldDatabase.AddAnnotations(sourceMigrationsAnnotations); + alterDatabaseOperation.OldDatabase.AddAnnotations(sourceMigrationsAnnotationsForRemoved); yield return alterDatabaseOperation; } yield break; } + var sourceMigrationsAnnotations = source?.GetAnnotations().ToList(); if (HasDifferences(sourceMigrationsAnnotations, targetMigrationsAnnotations)) { var alterDatabaseOperation = new AlterDatabaseOperation();