diff --git a/tests/Aspire.Npgsql.EntityFrameworkCore.PostgreSQL.Tests/AspireEFPostgreSqlExtensionsTests.cs b/tests/Aspire.Npgsql.EntityFrameworkCore.PostgreSQL.Tests/AspireEFPostgreSqlExtensionsTests.cs
index b3b15b233cc..7b54bc72242 100644
--- a/tests/Aspire.Npgsql.EntityFrameworkCore.PostgreSQL.Tests/AspireEFPostgreSqlExtensionsTests.cs
+++ b/tests/Aspire.Npgsql.EntityFrameworkCore.PostgreSQL.Tests/AspireEFPostgreSqlExtensionsTests.cs
@@ -113,4 +113,47 @@ public void CanConfigureDbContextOptions()
#pragma warning restore EF1001 // Internal EF Core API usage.
}
+
+ ///
+ /// Verifies that two different DbContexts can be registered with different connection strings.
+ ///
+ [Fact]
+ public void CanHave2DbContexts()
+ {
+ const string connectionString2 = "Host=localhost2;Database=test2;Username=postgres2";
+
+ var builder = Host.CreateEmptyApplicationBuilder(null);
+ builder.Configuration.AddInMemoryCollection([
+ new KeyValuePair("ConnectionStrings:npgsql", ConnectionString),
+ new KeyValuePair("ConnectionStrings:npgsql2", connectionString2),
+ ]);
+
+ builder.AddNpgsqlDbContext("npgsql");
+ builder.AddNpgsqlDbContext("npgsql2");
+
+ var host = builder.Build();
+ var context = host.Services.GetRequiredService();
+ var context2 = host.Services.GetRequiredService();
+
+ var actualConnectionString = context.Database.GetDbConnection().ConnectionString;
+ Assert.Equal(ConnectionString, actualConnectionString);
+
+ actualConnectionString = context2.Database.GetDbConnection().ConnectionString;
+ Assert.Equal(connectionString2, actualConnectionString);
+ }
+
+ public class TestDbContext2 : DbContext
+ {
+ public TestDbContext2(DbContextOptions options) : base(options)
+ {
+ }
+
+ public DbSet Products => Set();
+
+ public class Product
+ {
+ public int Id { get; set; }
+ public string Name { get; set; } = default!;
+ }
+ }
}