0

我们约定在我们的实体中将蛇形数据库列转换为帕斯卡大小写:

        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 回答