Skip to content
This repository was archived by the owner on Apr 17, 2025. It is now read-only.

Commit 88d11bd

Browse files
author
Angelo Pirola
committed
Aggiunta implementazione Postgres DbContextPool
1 parent c40effd commit 88d11bd

File tree

1 file changed

+24
-1
lines changed

1 file changed

+24
-1
lines changed

src/NET6CustomLibrary/Extensions/DependencyInjection.cs

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ public static IServiceCollection AddDbContextUseMySql<TDbContext>(this IServiceC
130130
{
131131
optionBuilder.UseMySql(connectionString, ServerVersion.AutoDetect(connectionString), options =>
132132
{
133-
// Abilito il connection resiliency (Provider di Postgres è soggetto a errori transienti)
133+
// Abilito il connection resiliency (Provider di Mysql / MariaDB è soggetto a errori transienti)
134134
// Info su: https://docs.microsoft.com/en-us/ef/core/miscellaneous/connection-resiliency
135135
options.EnableRetryOnFailure(retryOnFailure);
136136
});
@@ -142,6 +142,29 @@ public static IServiceCollection AddDbContextUseMySql<TDbContext>(this IServiceC
142142
});
143143
return services;
144144
}
145+
146+
public static IServiceCollection AddDbContextUsePostgres<TDbContext>(this IServiceCollection services, string connectionString, int retryOnFailure) where TDbContext : DbContext
147+
{
148+
services.AddDbContextPool<TDbContext>(optionBuilder =>
149+
{
150+
if (retryOnFailure > 0)
151+
{
152+
optionBuilder.UseNpgsql(connectionString, options =>
153+
{
154+
// Abilito il connection resiliency (Provider di Postgres è soggetto a errori transienti)
155+
// Info su: https://docs.microsoft.com/en-us/ef/core/miscellaneous/connection-resiliency
156+
options.EnableRetryOnFailure(retryOnFailure);
157+
});
158+
}
159+
else
160+
{
161+
optionBuilder.UseNpgsql(connectionString);
162+
}
163+
});
164+
165+
return services;
166+
}
167+
145168
#endregion
146169

147170
#region "HEALTH CHECKS"

0 commit comments

Comments
 (0)