From c53d6f0a5d9fc335b9531afdc46b45558963ff71 Mon Sep 17 00:00:00 2001 From: Young Date: Thu, 31 Oct 2024 22:50:15 +0800 Subject: [PATCH] optimise database seed extensions --- .../Seed/DatabaseContextExtensions.cs | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) diff --git a/src/Infrastructure/Seed/DatabaseContextExtensions.cs b/src/Infrastructure/Seed/DatabaseContextExtensions.cs index 20dbe48..80b5fe6 100644 --- a/src/Infrastructure/Seed/DatabaseContextExtensions.cs +++ b/src/Infrastructure/Seed/DatabaseContextExtensions.cs @@ -2,21 +2,13 @@ namespace Infrastructure.Seed; public static class DatabaseContextExtensions { - public static IServiceCollection GenerateTablesByClass(this IServiceCollection services, - DatabaseSeed databaseSeed - ) where T : class, new() + public static void GenerateTablesByClass(this IServiceProvider services, + Action? seedBuilder = null) where T : class, new() { ArgumentNullException.ThrowIfNull(services); + var databaseSeed = services.GetRequiredService() + ?? throw new ArgumentNullException($"{nameof(DatabaseSeed)} not found"); databaseSeed.GenerateTablesByClass(); - return services; - } - - public static IServiceCollection GenerateSeedAsync(this IServiceCollection services, - DatabaseSeed databaseSeed, string seedFile) - where T : class, new() - { - ArgumentNullException.ThrowIfNull(services); - databaseSeed.GenerateSeedAsync(seedFile); - return services; + seedBuilder?.Invoke(databaseSeed); } } \ No newline at end of file