From 3c22fc79a5137a666f2977dfa7d2faf6bb42d2d5 Mon Sep 17 00:00:00 2001 From: Andriy Svyryd Date: Mon, 25 Jan 2021 20:57:49 -0800 Subject: [PATCH] Correctly reflect that SnapshotModelProcessor now depends on IModelRuntimeInitializer instead of IConventionSetBuilder --- .../Design/DesignTimeServiceCollectionExtensions.cs | 2 +- .../Migrations/Design/SnapshotModelProcessorTest.cs | 13 +++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/EFCore.Design/Design/DesignTimeServiceCollectionExtensions.cs b/src/EFCore.Design/Design/DesignTimeServiceCollectionExtensions.cs index 06eeb951b90..f752814c8ea 100644 --- a/src/EFCore.Design/Design/DesignTimeServiceCollectionExtensions.cs +++ b/src/EFCore.Design/Design/DesignTimeServiceCollectionExtensions.cs @@ -109,6 +109,6 @@ public static IServiceCollection AddDbContextDesignTimeServices( .AddTransient(_ => context.GetService()) .AddTransient(_ => context.GetService()) .AddTransient(_ => context.GetService()) - .AddTransient(_ => context.GetService()); + .AddTransient(_ => context.GetService()); } } diff --git a/test/EFCore.Design.Tests/Migrations/Design/SnapshotModelProcessorTest.cs b/test/EFCore.Design.Tests/Migrations/Design/SnapshotModelProcessorTest.cs index eec5f40a290..72bc33a7732 100644 --- a/test/EFCore.Design.Tests/Migrations/Design/SnapshotModelProcessorTest.cs +++ b/test/EFCore.Design.Tests/Migrations/Design/SnapshotModelProcessorTest.cs @@ -6,6 +6,8 @@ using System.Linq; using System.Reflection; using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Design; +using Microsoft.EntityFrameworkCore.Design.Internal; using Microsoft.EntityFrameworkCore.Diagnostics; using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Internal; @@ -69,6 +71,17 @@ public void Updates_provider_annotations_on_model() Assert.Empty(reporter.Messages); } + [ConditionalFact] + public void Can_resolve_ISnapshotModelProcessor_from_DI() + { + var assembly = typeof(SnapshotModelProcessorTest).Assembly; + var snapshotModelProcessor = new DesignTimeServicesBuilder(assembly, assembly, new TestOperationReporter(), new string[0]) + .Build(SqlServerTestHelpers.Instance.CreateContext()) + .GetRequiredService(); + + Assert.NotNull(snapshotModelProcessor); + } + [ConditionalFact] public void Warns_for_conflicting_annotations() {