postgresql 和.NET类型对照表

PostgreSQL type默认的 .NET 类型特定提供的类型其他 .NET 类型
boolbool  
int2short byte, sbyte, int, long, float, double, decimal, string
int4int byte, short, long, float, double, decimal, string
int8long long, byte, short, int, float, double, decimal, string
float4float double
float8double  
numericdecimal byte, short, int, long, float, double, string
moneydecimal  
textstring char[]
varcharstring char[]
bpcharstring char[]
citextstring char[]
jsonstring char[]
jsonbstring char[]
xmlstring char[]
pointNpgsqlPoint string
lsegNpgsqlLSeg string
pathNpgsqlPath  
polygonNpgsqlPolygon  
lineNpgsqlLine string
circleNpgsqlCircle string
boxNpgsqlBox string
bit(1)bool BitArray
bit(n)BitArray  
varbitBitArray  
hstoreIDictionary<string, string=""> string
uuidGuid string
cidrNpgsqlInet string
inetIPAddressNpgsqlInetstring
macaddrPhysicalAddress string
tsqueryNpgsqlTsQuery  
tsvectorNpgsqlTsVector  
dateDateTimeNpgsqlDate 
intervalTimeSpanNpgsqlTimeSpan 
timestampDateTimeNpgsqlDateTime 
timestamptzDateTimeNpgsqlDateTimeDateTimeOffset
timeTimeSpan  
timetzDateTimeOffset DateTimeOffset, DateTime, TimeSpan
byteabyte[]  
oiduint  
xiduint  
ciduint  
oidvectoruint[]  
namestring char[]
(internal) charchar byte, short, int, long
geometry (PostGIS)PostgisGeometry  
recordobject[]  
composite typesT  
range subtypesNpgsqlRange  
enum typesTEnum  
array typesArray (of child element type)  

           向后端发送参数时的类型映射

 

有三个规则,确定PostgreSQL类型发送一个参数:

 

1,如果设置了参数的NpgsqlDbType,使用它。

2,如果设置了参数的DbType,就会使用它。

3,如果以上两个都没有设置,那么后端类型将从CLR值类型推断出来。

注意,DateTime和NpgsqlDateTime,属性决定是否使用时间戳或timestamptz。

 

注意,当NpgsqlDbType或DbType设置为一个原始类型(布尔值、数字和字符串),其他基本类型是接受因为他们都实现IConvertible接口,这就是Npgsql使用价值目标类型转换。

NpgsqlDbTypeDbTypePostgreSQL type接受的 .NET 数据类型
BooleanBooleanboolbool, IConvertible
SmallintInt16int2short, IConvertible
IntegerInt32int4int, IConvertible
BigintInt64int8long, IConvertible
RealSinglefloat4float, IConvertible
DoubleDoublefloat8double, IConvertible
NumericDecimal, VarNumericnumericdecimal, IConvertible
MoneyCurrencymoneydecimal, IConvertible
TextString, StringFixedLength, AnsiString, AnsiStringFixedLengthtextstring, char[], char, IConvertible
Varchar varcharstring, char[], char, IConvertible
Char charstring, char[], char, IConvertible
Citext citextstring, char[], char, IConvertible
Json jsonstring, char[], char, IConvertible
Jsonb jsonbstring, char[], char, IConvertible
Xml xmlstring, char[], char, IConvertible
Point pointNpgsqlPoint
LSeg lsegNpgsqlLSeg
Path pathNpgsqlPath
Polygon polygonNpgsqlPolygon
Line lineNpgsqlLine
Circle circleNpgsqlCircle
Box boxNpgsqlBox
Bit bitBitArray, bool, string
Varbit varbitBitArray, bool, string
Hstore hstoreIDictionary<string, string="">
Uuid uuidGuid, string
Cidr cidrIPAddress, NpgsqlInet
Inet inetIPAddress, NpgsqlInet
MacAddr macaddrPhysicalAddress
TsQuery tsqueryNpgsqlTsQuery
TsVector tsvectorNpgsqlTsVector
DateDatedateDateTime, NpgsqlDate, IConvertible
Interval intervalTimeSpan, NpgsqlTimeSpan, string
TimestampDateTime, DateTime2timestampDateTime, DateTimeOffset, NpgsqlDateTime, IConvertible
TimestampTZDateTimeOffsettimestamptzDateTime, DateTimeOffset, NpgsqlDateTime, IConvertible
TimeTimetimeTimeSpan, string
TimeTZ timetzDateTimeOffset, DateTime, TimeSpan
ByteaBinarybyteabyte[], ArraySegment
Oid oiduint, IConvertible
Xid xiduint, IConvertible
Cid ciduint, IConvertible
Oidvector oidvectoruint[]
Name namestring, char[], char, IConvertible
InternalChar (internal) charbyte, IConvertible
Geometry geometryPostgisGeometry
Composite composite typesT
Range | (other NpgsqlDbType) range typesNpgsqlRange
Enum enum typesTEnum
Array | (other NpgsqlDbType) array typesArray, IList, IList

自从mysql被收购狗,postgresql这个关系型数据库已经成为大众IT行业认养的首选。

我自己被这个里面的部分类型在.NET映射时弄的晕头转向。现在在国外网站找到这个对照类型表,供大家参考。

 

-----------------------------------------禁止转载!!!---------------------------------------------------

 

大家可进群,和更多的小伙伴一起学习,点击加群:.NET技术交流与招聘

转载于:https://www.cnblogs.com/Object-Class/p/6859846.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值