SQLのデータ型に対して、使用できるデータタイプは以下のとおりです。
これらの基本データ型に属するデータ型は、アプリケーションをVisual Studio上のツールを利用して自動生成する場合(TableAdapter内のクエリビルダーやサーバーエクスプローラー)、アプリケーションを自由に作成する場合(Data Provider)のどちらの場合においても利用することができます。
SQLのデータ型  | Npgsql  | |
|---|---|---|
データタイプ  | .NET CLSのデータ型  | |
character  | NpgsqlDbType.Char  | System.String  | 
character varying  | NpgsqlDbType.Varchar  | System.String  | 
national character  | NpgsqlDbType.NChar  | System.String  | 
national character varying  | NpgsqlDbType.NVarchar  | System.String  | 
text  | NpgsqlDbType.Text  | System.String  | 
bytea  | NpgsqlDbType.Bytea  | System.Byte[]  | 
smallint  | NpgsqlDbType.Smallint  | System.Int16  | 
integer  | NpgsqlDbType.Integer  | System.Int32  | 
bigint  | NpgsqlDbType.Bigint  | System.Int64  | 
smallserial  | NpgsqlDbType.Smallint  | System.Int16  | 
serial  | NpgsqlDbType.Integer  | System.Int32  | 
bigserial  | NpgsqlDbType.Bigint  | System.Int64  | 
real  | NpgsqlDbType.Real  | System.Single  | 
double precision  | NpgsqlDbType.Double  | System.Double  | 
numeric  | NpgsqlDbType.Numeric  | System.Decimal  | 
decimal  | NpgsqlDbType.Numeric  | System.Decimal  | 
date  | NpgsqlDbType.Date  | System.DateTime  | 
NpgsqlTypes.NpgsqlDate  | ||
time with time zone  | NpgsqlDbType.TimeTZ  | System.DateTimeOffset  | 
NpgsqlTypes.NpgsqlTimeTZ  | ||
time without time zone  | NpgsqlDbType.Time  | System.DateTime  | 
NpgsqlTypes.NpgsqlTime  | ||
timestamp without time zone  | NpgsqlDbType.Timestamp  | System.DateTime  | 
NpgsqlTypes.NpgsqlTimeStamp  | ||
timestamp with time zone  | NpgsqlDbType.TimestampTZ  | System.DateTime  | 
NpgsqlTypes.NpgsqlTimeStampTZ  | ||
interval  | NpgsqlDbType.Interval  | System.String/System.TimeSpan(注1)  | 
boolean  | NpgsqlDbType.Boolean  | System.Boolean  | 
bit  | NpgsqlDbType.Bit  | System.Boolean  | 
NpgsqlTypes.BitString  | ||
uuid  | NpgsqlDbType.Uuid  | System.Guid  | 
inet  | NpgsqlDbType.Inet  | NpgsqlTypes.NpgsqlInet  | 
System.Net.IPAddress  | ||
macaddr  | NpgsqlDbType.MacAddr  | NpgsqlTypes.NpgsqlMacAddress  | 
System.Net.NetworkInformation.PhysicalAddress  | ||
box  | NpgsqlDbType.Box  | NpgsqlTypes.NpgsqlBox  | 
circle  | NpgsqlDbType.Circle  | NpgsqlTypes.NpgsqlCircle  | 
lseg  | NpgsqlDbType.LSeg  | NpgsqlTypes.NpgsqlLSeg  | 
path  | NpgsqlDbType.Path  | NpgsqlTypes.NpgsqlPath  | 
point  | NpgsqlDbType.Point  | NpgsqlTypes.NpgsqlPoint  | 
polygon  | NpgsqlDbType.Polygon  | NpgsqlTypes.NpgsqlPolygon  | 
array  | NpgsqlDbType.Array  | System.Array  | 
注1: SQLのinterval型の種別により、使用できる.NET CLSのデータ型が異なります。
interval year/interval month/interval year to monthの場合、System.Stringを使用してください。
上記以外の場合、System.TimeSpanを使用してください。