如何通过代码先全局更改精度和小数位数?

Posted

技术标签:

【中文标题】如何通过代码先全局更改精度和小数位数?【英文标题】:How to change the precision and the scale of decimal globally through code first? 【发布时间】:2016-08-20 17:05:00 【问题描述】:

根据这个回答:Decimal precision and scale in EF Code First

modelBuilder.Entity<Class>().Property(object => object.property).HasPrecision(12, 10);

我可以更改特定实体中特定属性的小数精度和小数位数。


但我想知道如何全局更改它,我的意思是将所有小数属性更改为特定的精度和比例,因为我在不同的实体中有大量它们。

【问题讨论】:

您是否查看过链接问题的其他答案?看起来您的问题已经得到解答,请设置一个用于所有实体模型的新约定。 【参考方案1】:

你可以使用DbModelBuilder.Properties方法:

开始配置适用于模型中指定类型的所有原始属性的轻量级约定。

像这样:

modelBuilder.Properties<decimal>().Configure(p => p.HasPrecision(12, 10));

【讨论】:

以上是关于如何通过代码先全局更改精度和小数位数?的主要内容,如果未能解决你的问题,请参考以下文章

Matlab默认精度设置和更改──设置小数点位数_我的资料_百度空间

EF5 代码优先迁移:小数精度和小数位数

matlab如何设置小数点后位数?

如何在 .NET 中将双精度值转换为具有固定小数位数的小数类型值

c语言如何控制小数位数

无法理解 DBMS 中数值数据类型的精度和小数位数