Sql server 如何将MS SQL数据类型numeric(19,0)映射到.NET类型
我正在研究从MS SQL数据库到POCO类的映射: 我有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
数字(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
=>-128到127,适合SByte
数字(2,0)
=>-32768到32767,适用于Int16
数字(4,0)
=>-2147483648到2147483647,适用于Int32
数字(9,0)
=>-9223372036854775808到9223372036854775807,适用于Int64
数字(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)等等。