Docs / Register MooDbContextFactory

Register MooDbContextFactory

What this page covers#

This page shows how to register and use AddMooDbContextFactory() for runtime database selection.

Registration#

</> C#
using MooDb.DependencyInjection;

builder.Services.AddMooDbContextFactory();

Registration with defaults#

</> C#
using MooDb.DependencyInjection;

builder.Services.AddMooDbContextFactory(options =>
{
    options.CommandTimeoutSeconds = 60;
    options.StrictAutoMapping = true;
});

Usage#

</> C#
public sealed class TenantOrderService
{
    private readonly IMooDbContextFactory _factory;

    public TenantOrderService(IMooDbContextFactory factory)
    {
        _factory = factory;
    }

    public async Task<int> CountUsersAsync(string connectionString)
    {
        await using var db = _factory.Create(connectionString);
        return await db.ScalarAsync<int>("dbo.usp_User_Count");
    }
}