SqlExtensionsAspire–part 3–upgrade to Aspire9.4

Aspire 9.4 , between many improvements detailed at https://learn.microsoft.com/en-us/dotnet/aspire/whats-new/dotnet-aspire-9.4 , adds events bound directly to resource.

So the code for SqlExtensionsAspire become more simple . I have the db resource and I want to execute Sql when it is ready . From 9.3 code

builder.Eventing.Subscribe<ResourceReadyEvent>(async (ev, ct) =>
{
    if (ev.Resource is not SqlServerDatabaseResource dbRes) return;
    if (db.Resource != dbRes) return;
    var cn = await dbRes.ConnectionStringExpression.GetValueAsync(ct);
    if (cn == null) return;
    // Set up logging for script execution
    var log = ev.Services.GetService(typeof(ResourceLoggerService)) as ResourceLoggerService;

to 9.4 code

// Subscribe to the resource ready event to execute scripts when database is available
db.OnResourceReady(async (dbRes, ev, ct) =>
{
    // Get the database connection string
    var cn = await dbRes.ConnectionStringExpression.GetValueAsync(ct);
    if (cn == null) return;
    
    // Set up logging for script execution
    var log = ev.Services.GetService(typeof(ResourceLoggerService)) as ResourceLoggerService;

Posted

in

by

Tags: