0

エンティティでスネーク ケースの db 列をパスカル ケースに変換する規則があります。

        Map(x => x.ProjectName).Column("project_name");

マッピングは常に正確にこれです。すべてを入力するのではなく、どのように FNH に仕事をさせることができるでしょうか?

4

1 に答える 1

0

実装IPropertyConventionして使用する

// in Apply (maybe filter out some special cases)
instance.Column(ToSnakeCase(instance.Name));


private string ToSnakeCase(string name)
{
    var result = new Stringbuilder(name.Length);
    for (int i = 0; i < name.Length; i++)
    {
        if (i > 0 && char.IsUpper(name[i]))
            result.Append('_').Append(char.ToLower(name[i]));
        else
            result.Append(char.ToLower(name[i]));
    }
    return result.ToString();
}
于 2013-02-11T20:31:39.497 に答える