Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 如何将MS SQL数据类型numeric(19,0)映射到.NET类型_Sql Server_Entity Framework - Fatal编程技术网

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

Sql server 如何将MS SQL数据类型numeric(19,0)映射到.NET类型,sql-server,entity-framework,Sql Server,Entity Framework,我正在研究从MS SQL数据库到POCO类的映射: 我有数字(19,0),数字(18,0),数字(3,0),数字(3,0) 我正在使用EF电动工具生成POCO,并将其全部映射到十进制.NETC类型 但是我认为它应该映射到BigInt,Int64,Int32,Int16等等。数字(x,y)将是十进制的。如果需要int,正确的类型是: SQL/C# long/Int64 int/Int32 smallint/Int16 以下是.NET整数类型及其具有最大拟合数值类型的域: SByte=>-128

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

我有
数字(19,0)
数字(18,0)
数字(3,0)
数字(3,0)

我正在使用EF电动工具生成POCO,并将其全部映射到十进制
.NET
C
类型

但是我认为它应该映射到
BigInt
Int64
Int32
Int16
等等。

数字(x,y)
将是十进制的。如果需要int,正确的类型是:

SQL/C#

  • long/Int64
  • int/Int32
  • smallint/Int16

以下是.NET整数类型及其具有最大拟合数值类型的域:

  • SByte
    =>-128到127,适合
    数字(2,0)
  • Int16
    =>-32768到32767,适用于
    数字(4,0)
  • Int32
    =>-2147483648到2147483647,适用于
    数字(9,0)
  • Int64
    =>-9223372036854775808到9223372036854775807,适用于
    数字(18,0)
由于
十进制
最多可容纳7.9*10^28,因此它最多可容纳
数字(28,0)


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

值的实际域是什么?例如,如果它适合2^63,您可以使用
Int64
。我没有关于域值的任何信息。我只得到了MS SQL DB脚本。如何获得?将其映射到至少具有相同容量的数据类型。EF电动工具只生成一个映射供您随意修改。阿诺德:是的,您是对的。我的第一个想法不是为了获得最佳性能而更新EF Power Tools生成的代码。但后来我发现生成的代码有一些问题,需要大量更新。我没有访问MS SQL端的权限,因此MS SQL将始终是数字(19,0)、数字(18,0)等等。