将Oracle数据类型映射到C#属性类型

时间:2012-06-13 17:37:09

标签: c# .net oracle orm

当创建一个属性以对应于NUMBER(6,3)类型的Oracle列时,在决定使用哪种数据类型来创建相应的属性(Double,a Float或......)之前,我应该考虑哪些因素? ?)

IOW,使用此Oracle列定义:

PercentageOfCodersWhoCobbleCobol     NUMBER (6, 3)

...我目前有一个相应的属性:

private Double percentageOfCodersWhoCobbleCobol;

public double PercentageOfCodersWhoCobbleCobol
        {
            get
            {
                return this.percentageOfCodersWhoCobbleCobol;
            }
            set
            {
                this.percentageOfCodersWhoCobbleCobol = value;
                NotifyPropertyChanged("PercentageOfCodersWhoCobbleCobol");
            }
        }

...但该属性应该是浮动的还是别的?

2 个答案:

答案 0 :(得分:1)

您只需存储6位数字,因此float就足够了。 The type float has a precision of 7 digits.

但是,如果您想对这些数字进行一些算术(乘法,除法),并将结果写回数据库,那么您应该考虑使用double。此外,如果这些值存储人类输入的数字(例如金额),则可能需要decimal

答案 1 :(得分:1)

您也可以使用此堆栈溢出link作为参考。对于你的问题,我认为它应该映射到double not float。