diff --git a/framework/src/Volo.Abp.EntityFrameworkCore.Sqlite/Volo/Abp/EntityFrameworkCore/Interceptors/SqliteBusyTimeoutSaveChangesInterceptor.cs b/framework/src/Volo.Abp.EntityFrameworkCore.Sqlite/Volo/Abp/EntityFrameworkCore/Interceptors/SqliteBusyTimeoutSaveChangesInterceptor.cs index 32b4859bbb..1caada4592 100644 --- a/framework/src/Volo.Abp.EntityFrameworkCore.Sqlite/Volo/Abp/EntityFrameworkCore/Interceptors/SqliteBusyTimeoutSaveChangesInterceptor.cs +++ b/framework/src/Volo.Abp.EntityFrameworkCore.Sqlite/Volo/Abp/EntityFrameworkCore/Interceptors/SqliteBusyTimeoutSaveChangesInterceptor.cs @@ -19,7 +19,7 @@ public class SqliteBusyTimeoutSaveChangesInterceptor : SaveChangesInterceptor public override InterceptionResult SavingChanges(DbContextEventData eventData, InterceptionResult result) { - if (eventData.Context != null) + if (eventData.Context != null && IsSqlite(eventData.Context)) { eventData.Context.Database.ExecuteSqlRaw(_pragmaCommand); } @@ -29,11 +29,17 @@ public class SqliteBusyTimeoutSaveChangesInterceptor : SaveChangesInterceptor public override async ValueTask> SavingChangesAsync(DbContextEventData eventData, InterceptionResult result, CancellationToken cancellationToken = default) { - if (eventData.Context != null) + if (eventData.Context != null && IsSqlite(eventData.Context)) { await eventData.Context.Database.ExecuteSqlRawAsync(_pragmaCommand, cancellationToken: cancellationToken); } return await base.SavingChangesAsync(eventData, result, cancellationToken); } + + + private bool IsSqlite(DbContext context) + { + return context.Database.ProviderName != null && context.Database.ProviderName.Contains("Sqlite"); + } }