optimise database seed extensions

master
Young 6 months ago
parent e796a4c0b2
commit c53d6f0a5d

@ -2,21 +2,13 @@ namespace Infrastructure.Seed;
public static class DatabaseContextExtensions public static class DatabaseContextExtensions
{ {
public static IServiceCollection GenerateTablesByClass<T>(this IServiceCollection services, public static void GenerateTablesByClass<T>(this IServiceProvider services,
DatabaseSeed databaseSeed Action<DatabaseSeed>? seedBuilder = null) where T : class, new()
) where T : class, new()
{ {
ArgumentNullException.ThrowIfNull(services); ArgumentNullException.ThrowIfNull(services);
var databaseSeed = services.GetRequiredService<DatabaseSeed>()
?? throw new ArgumentNullException($"{nameof(DatabaseSeed)} not found");
databaseSeed.GenerateTablesByClass<T>(); databaseSeed.GenerateTablesByClass<T>();
return services; seedBuilder?.Invoke(databaseSeed);
}
public static IServiceCollection GenerateSeedAsync<T>(this IServiceCollection services,
DatabaseSeed databaseSeed, string seedFile)
where T : class, new()
{
ArgumentNullException.ThrowIfNull(services);
databaseSeed.GenerateSeedAsync<T>(seedFile);
return services;
} }
} }
Loading…
Cancel
Save