我正在研究从MS SQL数据库到POCO类的映射:
我有numeric(19, 0)
,numeric(18, 0)
,numeric(3, 0)
,numeric(3, 0)
。
我使用EF电动工具生成 POCO ,所有地图都生成小数.NET
C# Type
。
但我认为它应该映射到BigInt
,Int64
,Int32
,Int16
等。
答案 0 :(得分:6)
以下是.NET整数类型及其具有最大拟合数字类型的域:
SByte
=> -128到127,最多可达NUMERIC(2, 0)
Int16
=> -32,768到32,767,最多可达NUMERIC(4, 0)
Int32
=> -2,147,483,648至2,147,483,647,最多可达NUMERIC(9, 0)
Int64
=> -9,223,372,036,854,775,808至9,223,372,036,854,775,807,最多可达NUMERIC(18, 0)
由于decimal
最多可以容纳7.9 * 10 ^ 28,因此最多可以容纳NUMERIC(28, 0)
。
如果您的整数字段大于NUMERIC(28, 0)
,则可以在.NET 4.0或更高版本中使用BigInteger
。
答案 1 :(得分:2)
numeric(x, y)
将为小数。如果你想int,正确的类型是:
SQL / C#