feat: Update Database Seeding Implementation for EF Core 9 Compatibility #1294
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request refactors the database initialization and seeding logic to utilize the new
UseAsyncSeeding
method introduced in EF Core 9, improving the seeding process for the Clean Architecture project. The changes ensure better asynchronous handling during database setup and enhance maintainability.Changes:
New
AddAsyncSeeding
Method:AddAsyncSeeding
that configures theDbContextOptionsBuilder
to use the newUseAsyncSeeding
method.Refactored
ApplicationDbContextInitialiser
:ApplicationDbContextInitialiser
was retained but refactored to work seamlessly with the new EF Core 9 seeding mechanism.TodoList
andTodoItems
.Seeding on Database Provider Configuration:
AddDbContext
method in theAddInfrastructureServices
class to integrateAddAsyncSeeding
with all supported database providers (PostgreSQL
,SQLite
,SQL Server
).Separate Initialization and Seeding:
InitialiseAsync
) and seeding (SeedAsync
) separated to maintain clarity and avoid redundant operations.Benefits:
How to Test:
PostgreSQL
,SQLite
,SQL Server
).TodoList
andTodoItems
) are seeded correctly.Additional Notes: