using System.Runtime.CompilerServices;

namespace KArtSell.Modules.SignalEngine;

/// <summary>
/// See KArtSell.Modules.ModelOperations.DapperMappingBootstrap for the full rationale: Dapper's
/// snake_case-to-PascalCase column mapping is a process-wide static flag set via
/// KArtSell.BuildingBlocks.Data.DapperBootstrap's [ModuleInitializer], which only fires once
/// that assembly is loaded. This mirrors it locally so every Sql/reader class defined in this
/// assembly is guaranteed the mapping is on before its first query, regardless of load order.
/// </summary>
internal static class DapperMappingBootstrap
{
#pragma warning disable CA2255
    [ModuleInitializer]
#pragma warning restore CA2255
    public static void Initialize()
    {
        Dapper.DefaultTypeMap.MatchNamesWithUnderscores = true;
    }
}
