linq2db by Igor Tkachev, Ilya Chudin, Svyatoslav Danyliv, Dmitry Lukashenko

<PackageReference Include="linq2db" Version="5.3.0" />

 UniqueParametersNormalizer

Parameter name rules, implemented by this policy: duplicate name check is case-insensitivemax name length: 50 charactersallowed characters: ASCII digits, ASCII letters, _ (underscore).allowed first character: ASCII letter.default name if name missing/invalid: "p"duplicates resolved by adding "_counter" suffix
protected virtual StringComparer Comparer { get; }

protected virtual string CounterSeparator { get; }

protected virtual string DefaultName { get; }

protected virtual int MaxLength { get; }

protected virtual bool IsReserved(string name)

protected virtual bool IsValidCharacter(char chr)

protected virtual bool IsValidFirstCharacter(char chr)

protected virtual string MakeValidName(string name)

Method should validate name characters and remove or replace invalid characters. Default implementation removes all characters except ASCII letters/digits and underscore.

public string Normalize(string originalName)