JCh*_*ian 8 .net c# nhibernate fluent-nhibernate
在我正在构建的应用程序中,我有许多十进制字段,具有需要从数据库映射的特定精度和比例.我可以通过使用Precision()和Scale()方法来实现这一点:
public class ClassAMap : ClassMap<ClassA>
{
public ClassAMap ()
{
Map(x => x.Value).Precision(22).Scale(12);
}
}
Run Code Online (Sandbox Code Playgroud)
有没有办法改变小数的默认精度和比例,所以我不需要记得为每个十进制映射添加调用Precision()和Scale()?
Wor*_*und 13
您可以定义PropertyConvention.以下是一般的想法.(未经测试)
public class DecimalConvention : IPropertyConvention
{
public void Apply(IPropertyInstance instance)
{
if (instance.Type == typeof(decimal) || instance.Name == "Value") //Set the condition based on your needs
{
instance.Precision(22).Scale(12);
}
}
}
Run Code Online (Sandbox Code Playgroud)
确保在配置Fluent时包含此约定.