postgresql 和.NET类型对照表

PostgreSQL type 默认的 .NET 类型 特定提供的类型 其他 .NET 类型
bool bool    
int2 short   byte, sbyte, int, long, float, double, decimal, string
int4 int   byte, short, long, float, double, decimal, string
int8 long   long, byte, short, int, float, double, decimal, string
float4 float   double
float8 double    
numeric decimal   byte, short, int, long, float, double, string
money decimal    
text string   char[]
varchar string   char[]
bpchar string   char[]
citext string   char[]
json string   char[]
jsonb string   char[]
xml string   char[]
point NpgsqlPoint   string
lseg NpgsqlLSeg   string
path NpgsqlPath    
polygon NpgsqlPolygon    
line NpgsqlLine   string
circle NpgsqlCircle   string
box NpgsqlBox   string
bit(1) bool   BitArray
bit(n) BitArray    
varbit BitArray    
hstore IDictionary<string, string="">   string
uuid Guid   string
cidr NpgsqlInet   string
inet IPAddress NpgsqlInet string
macaddr PhysicalAddress   string
tsquery NpgsqlTsQuery    
tsvector NpgsqlTsVector    
date DateTime NpgsqlDate  
interval TimeSpan NpgsqlTimeSpan  
timestamp DateTime NpgsqlDateTime  
timestamptz DateTime NpgsqlDateTime DateTimeOffset
time TimeSpan    
timetz DateTimeOffset   DateTimeOffset, DateTime, TimeSpan
bytea byte[]    
oid uint    
xid uint    
cid uint    
oidvector uint[]    
name string   char[]
(internal) char char   byte, short, int, long
geometry (PostGIS) PostgisGeometry    
record object[]    
composite types T    
range subtypes NpgsqlRange    
enum types TEnum    
array types Array (of child element type)    

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

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

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

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

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

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

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

NpgsqlDbType DbType PostgreSQL type 接受的 .NET 数据类型
Boolean Boolean bool bool, IConvertible
Smallint Int16 int2 short, IConvertible
Integer Int32 int4 int, IConvertible
Bigint Int64 int8 long, IConvertible
Real Single float4 float, IConvertible
Double Double float8 double, IConvertible
Numeric Decimal, VarNumeric numeric decimal, IConvertible
Money Currency money decimal, IConvertible
Text String, StringFixedLength, AnsiString, AnsiStringFixedLength text string, char[], char, IConvertible
Varchar   varchar string, char[], char, IConvertible
Char   char string, char[], char, IConvertible
Citext   citext string, char[], char, IConvertible
Json   json string, char[], char, IConvertible
Jsonb   jsonb string, char[], char, IConvertible
Xml   xml string, char[], char, IConvertible
Point   point NpgsqlPoint
LSeg   lseg NpgsqlLSeg
Path   path NpgsqlPath
Polygon   polygon NpgsqlPolygon
Line   line NpgsqlLine
Circle   circle NpgsqlCircle
Box   box NpgsqlBox
Bit   bit BitArray, bool, string
Varbit   varbit BitArray, bool, string
Hstore   hstore IDictionary<string, string="">
Uuid   uuid Guid, string
Cidr   cidr IPAddress, NpgsqlInet
Inet   inet IPAddress, NpgsqlInet
MacAddr   macaddr PhysicalAddress
TsQuery   tsquery NpgsqlTsQuery
TsVector   tsvector NpgsqlTsVector
Date Date date DateTime, NpgsqlDate, IConvertible
Interval   interval TimeSpan, NpgsqlTimeSpan, string
Timestamp DateTime, DateTime2 timestamp DateTime, DateTimeOffset, NpgsqlDateTime, IConvertible
TimestampTZ DateTimeOffset timestamptz DateTime, DateTimeOffset, NpgsqlDateTime, IConvertible
Time Time time TimeSpan, string
TimeTZ   timetz DateTimeOffset, DateTime, TimeSpan
Bytea Binary bytea byte[], ArraySegment
Oid   oid uint, IConvertible
Xid   xid uint, IConvertible
Cid   cid uint, IConvertible
Oidvector   oidvector uint[]
Name   name string, char[], char, IConvertible
InternalChar   (internal) char byte, IConvertible
Geometry   geometry PostgisGeometry
Composite   composite types T
Range | (other NpgsqlDbType)   range types NpgsqlRange
Enum   enum types TEnum
Array | (other NpgsqlDbType)   array types Array, IList, IList

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

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

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

时间: 2024-10-29 19:05:59

postgresql 和.NET类型对照表的相关文章

EF框架操作postgresql,实现WKT类型坐标的插入,查询,以及判断是否相交

1.组件配置 首先,要下载.NET for Postgresql的驱动,npgsql,EF6,以及EntityFramework6.Npgsql,版本号 3.1.1.0. 由于是mvc项目,所以,把相应的配置文件写在web.config里面,如下: 1 <configSections> 2 <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?L

正确使用PostgreSQL的数组类型

2014-03-03 10:10 佚名 开源中国编译 我要评论(0) 字号:T | T 在Heap中,我们依靠PostgreSQL支撑大多数后端繁重的任务,我们存储每个事件为一个hstore blob,我们为每个跟踪的用户维护一个已完成事件的PostgreSQL数组,并将这些事件按时间排序. AD:2014WOT全球软件技术峰会北京站 课程视频发布 在Heap中,我们依靠PostgreSQL支撑大多数后端繁重的任务,我们存储每个事件为一个hstore blob,我们为每个跟踪的用户维护一个已完成

C#与C++类型对照表

C++            C#=====================================WORD            ushortDWORD            uintUCHAR            int/byte   大部分情况都可以使用int代替,而如果需要严格对齐的话则应该用bytebyte UCHAR*            string/IntPtrunsigned char*         [MarshalAs(UnmanagedType.LPArra

非托管类型转换为托管类型对照表

Wtypes.h 中的非托管类型 非托管 C 语言类型 托管类名称 描述 句柄 void* [ T:System.IntPtr ] 在 32 位 Windows 操作系统上为 32 位.在 64 位 Windows 操作系统上为 64 位. BYTE unsigned char [ T:System.Byte ] 8 位 SHORT short [ T:System.Int16 ] 16 位 WORD unsigned short [ T:System.UInt16 ] 16 位 INT int

php 文件上传后缀名与文件类型对照表(几乎涵盖所有文件)

网上有很多php文件上传的类,文件上传处理是php的一个特色(至少手册上是将此作为php特点来展示的,个人认为php在数组方面的优异功能更有特 色),学php的人都知道文件上传怎么做,但很多人在编程中却可能忽视了一些细节问题,那就是文件的类型(MIME).在表单将文件提交给php做处理之 前,浏览器会先解析识别一边是什么类型的文件,之后进入php处理环节,php又会去识别解析此文件的原始类型(并不是说你改成什么后缀就是什么文件). 在这个过程中会有一些浏览器兼容,更准确来说是文件类型解析标识不一

PHP文件上传后缀名与文件类型对照表

ie 火狐 id 后缀名 php识别出的文件类型 0 gif image/gif 1 jpg image/jpeg 2 png image/png 3 bmp image/bmp 4 psd application/octet-stream 5 ico image/x-icon 6 rar application/octet-stream 7 zip application/zip 8 7z application/octet-stream 9 exe application/octet-str

[转]文件后缀与Mime类型对照表

//文档文件类型的 .ai application/postscript .eps application/postscript .exe application/octet-stream .doc application/vnd.ms-word .xls application/vnd.ms-excel .ppt application/vnd.ms-powerpoint .pps application/vnd.ms-powerpoint .pdf application/pdf .xml

Java与数据库类型对照表

 数据库类型  Java类型  INTEGER  int or java.lang.Integer  BIGINT  long or java.lang.Long  SMALLINT  short or java.lang.Short  FLOAT  float or java.lang.Float  DOUBLE  double or java.lang.Double  NUMERIC  java.math.BigDecimal  CHAR  java.lang.String  VARCHAR

PostgreSQL之网络地址类型

官方文档:http://www.postgresql.org/docs/9.4/interactive/datatype-net-types.html 一.cidr postgres=# create table test (id int, name text); CREATE TABLE postgres=# \d test       Table "public.test"  Column |  Type   | Modifiers  --------+---------+----