如何将MS SQL数据类型numeric(19,0)映射到.NET类型

Ton*_*Bao 3 sql-server entity-framework

我正在研究从MS SQL数据库到POCO类的映射:

我有numeric(19, 0),numeric(18, 0),numeric(3, 0),numeric(3, 0).

我正在使用EF电源工具生成POCO并将所有映射到十进制.NET C# Type.

但我认为它应该映射到BigInt,Int64,Int32,Int16等.

Gab*_*abe 7

以下是.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)

因为a decimal可以容纳7.9*10 ^ 28,所以最多可以达到NUMERIC(28, 0).

如果您的整数字段大于NUMERIC(28, 0),则可以BigInteger在.NET 4.0或更高版本中使用.