21 lines
780 B
C#
21 lines
780 B
C#
|
|
using Npgsql;
|
||
|
|
|
||
|
|
namespace FlatRender.IdentitySvc.Infrastructure.Data;
|
||
|
|
|
||
|
|
/// <summary>
|
||
|
|
/// Npgsql name translator that returns CLR names verbatim.
|
||
|
|
///
|
||
|
|
/// The database enum labels are PascalCase (e.g. 'Internal', 'Active', 'ZarinPal')
|
||
|
|
/// and match the C# enum member names exactly, so no snake_case translation may be
|
||
|
|
/// applied to enum <em>values</em>. PG type names (e.g. tenant_kind) are still passed
|
||
|
|
/// explicitly wherever this translator is used, so type-name translation is moot.
|
||
|
|
/// </summary>
|
||
|
|
public sealed class PreserveCaseNameTranslator : INpgsqlNameTranslator
|
||
|
|
{
|
||
|
|
public static readonly PreserveCaseNameTranslator Instance = new();
|
||
|
|
|
||
|
|
public string TranslateTypeName(string clrName) => clrName;
|
||
|
|
|
||
|
|
public string TranslateMemberName(string clrName) => clrName;
|
||
|
|
}
|