diff --git a/src/EFCore.SqlServer/Migrations/Internal/SqlServerMigrationsAnnotationProvider.cs b/src/EFCore.SqlServer/Migrations/Internal/SqlServerMigrationsAnnotationProvider.cs index 8aae2c65c39..22722dbd692 100644 --- a/src/EFCore.SqlServer/Migrations/Internal/SqlServerMigrationsAnnotationProvider.cs +++ b/src/EFCore.SqlServer/Migrations/Internal/SqlServerMigrationsAnnotationProvider.cs @@ -26,7 +26,7 @@ public SqlServerMigrationsAnnotationProvider(MigrationsAnnotationProviderDepende /// public override IEnumerable ForRemove(IRelationalModel model) - => model.GetAnnotations().Where(a => a.Name != SqlServerAnnotationNames.EditionOptions); + => model.GetAnnotations(); /// public override IEnumerable ForRemove(ITable table) diff --git a/test/EFCore.SqlServer.Tests/Migrations/SqlServerModelDifferTest.cs b/test/EFCore.SqlServer.Tests/Migrations/SqlServerModelDifferTest.cs index 3253a8eeee6..78f5949b379 100644 --- a/test/EFCore.SqlServer.Tests/Migrations/SqlServerModelDifferTest.cs +++ b/test/EFCore.SqlServer.Tests/Migrations/SqlServerModelDifferTest.cs @@ -42,6 +42,33 @@ public void Alter_database_edition_options() alterDatabaseOperation.OldDatabase[SqlServerAnnotationNames.EditionOptions]); }); + [ConditionalFact] + public void Create_database_with_edition_options() + => Execute( + _ => { }, + source => { }, + target => target.HasDatabaseMaxSize("10"), + upOps => + { + Assert.Equal(1, upOps.Count); + + var alterDatabaseOperation = Assert.IsType(upOps[0]); + Assert.Equal( + "MAXSIZE = 10", + alterDatabaseOperation[SqlServerAnnotationNames.EditionOptions]); + Assert.Null(alterDatabaseOperation.OldDatabase[SqlServerAnnotationNames.EditionOptions]); + }, + downOps => + { + Assert.Equal(1, downOps.Count); + + var alterDatabaseOperation = Assert.IsType(downOps[0]); + Assert.Null(alterDatabaseOperation[SqlServerAnnotationNames.EditionOptions]); + Assert.Equal( + "MAXSIZE = 10", + alterDatabaseOperation.OldDatabase[SqlServerAnnotationNames.EditionOptions]); + }); + [ConditionalFact] public void Alter_table_MemoryOptimized() => Execute(