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(