我正在从MS SQL数据库映射到POCO类:
I am working on the mapping from MS SQL database to POCO classes:
我有 numeric(19,0),数字(18,0),数字(3、0), numeric(3,0)。
我正在使用EF电动工具生成 POCO ,所有映射到小数 .NET C# 类型。
I am using the EF power tools to generate POCO and all map to decimal .NET C# Type.
但是我认为它应该映射到 BigInt , Int64 , Int32 , Int16 等。
But I think it should map to BigInt, Int64, Int32, Int16 etc.
推荐答案以下是.NET整数类型及其具有最大拟合数值类型的域:
Here are the .NET integer types and their domains with maximum fitting numeric types:
- 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)
- SByte => -128 to 127 which fits up to NUMERIC(2, 0)
- Int16 => -32,768 to 32,767 which fits up to NUMERIC(4, 0)
- Int32 => -2,147,483,648 to 2,147,483,647 which fits up to NUMERIC(9, 0)
- Int64 => -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807 which fits up to NUMERIC(18, 0)
由于十进制最多可以容纳7.9 * 10 ^ 28,它适用于 NUMERIC(28,0)。
Since a decimal can hold up to 7.9*10^28, it fits up to NUMERIC(28, 0).
如果您的整数字段大于 NUMERIC(28,0),则可以在.NET 4.0或更高版本中使用 BigInteger 。
If you have an integer field bigger than NUMERIC(28, 0), you can use BigInteger in .NET 4.0 or newer.
更多推荐
如何将MS SQL数据类型numeric(19,0)映射到.NET类型
发布评论