据我了解,在 NHibernate 中,使用代码映射,我可以指定小数属性的精度和小数位数,如下所示:
Property(
x => x.Dollars,
m =>
{
m.Precision(9);
m.Scale(6);
}
);
这很好,但我想知道是否有一种方法可以轻松映射ALL以一种简单的方式了解所有类中的小数属性。我必须检查所有映射并手动更新每个映射,这似乎有点疯狂。有谁知道如何实现这一点?
Use the BeforeMapProperty
在模型映射器上:-
var mapper = new ModelMapper();
mapper.BeforeMapProperty += (inspector, member, customizer) => {
if (member.LocalMember.GetPropertyOrFieldType() == typeof (decimal))
{
customizer.Precision(9);
customizer.Scale(6);
}
};
唯一要添加的另一件事是删除所有出现的情况:-
m => { m.Precision(9); m.Scale(6); }
来自您的映射类,因为这些将覆盖您在中设置的约定BeforeMapProperty
除非您有其他具有不同比例或精度的小数。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)