如何将MS SQL数据类型numeric(19,0)映射到.NET类型 [英] How can I map MS SQL datatype numeric(19, 0) to .NET type

查看:225
本文介绍了如何将MS SQL数据类型numeric(19,0)映射到.NET类型的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在从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类型的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆