下面的数据库类型和c#类型的映射关系,只是我个人的想法,应该不同的业务场景对应可能不一样,比如json,xml,line,polygon结构化的数据,如果在C#中有对应的实体类,可以很友好的转换,如果没有,可以用现有的类型存储,再作转换,比如json,xml都可以用string来接收。
mysql字段类型和c#类型对应
Data type | C# |
CHAR(size) | string |
VARCHAR(size) | string |
BINARY(size) | byte[],object |
VARBINARY(size) | byte[],object |
TINYBLOB | btye[],object |
TINYTEXT | string |
TEXT(size) | string |
BLOB(size) | byte[],object |
MEDIUMTEXT | string |
MEDIUMBLOB | byte[],object |
LONGTEXT | string |
LONGBLOB | byte[],object |
ENUM(val1, val2, val3, ...) | string |
SET(val1, val2, val3, ...) | object |
BIT(size) | bit |
TINYINT(size) | byte |
BOOL | bool |
BOOLEAN | bool |
SMALLINT(size) | short |
MEDIUMINT(size) | short |
INT(size) | int32 |
INTEGER(size) | int32 |
BIGINT(size) | long |
FLOAT(size, d) | float |
FLOAT(p) | float |
DOUBLE(size, d) | double |
DOUBLE PRECISION(size, d) | double |
DECIMAL(size, d) | decimal |
DEC(size, d) | decimal |
DATE | DateTime |
DATETIME(fsp) | DateTime |
TIMESTAMP(fsp) | DateTime |
TIME(fsp) | DateTime |
YEAR | short |
postgres字段类型和c#类型对应关系
Name | C# |
Bigint, int8 | long |
Bigserial, serial8 | long |
bit [ (n) ] | bit[] |
bit varying [ (n) ], varbit [ (n) ] | bit[] |
Boolean, bool | bool |
box | object |
bytea | byte[] |
character [ (n) ], char [ (n) ] | string |
character varying [ (n) ], varchar [ (n) ] | string |
cidr | object |
circle | object |
date | DateTime |
double precision, float8 | double |
inet | object |
Integer, int, int4 | int |
interval [ fields ] [ (p) ] | string |
json | string |
jsonb | string |
line | object |
lseg | object |
macaddr | object |
macaddr8 | object |
money | Decimal |
numeric [ (p, s) ], decimal [ (p, s) ] | decimal |
path | object |
pg_lsn | object |
pg_snapshot | object |
point | object |
polygon | object |
Real, float4 | float |
Smallint, int2 | Short |
Smallserial, serial2 | short |
Serial, serial4 | int |
text | string |
time [ (p) ] [ without time zone ] | DateTime |
time [ (p) ] with time zone, timetz | DateTimeOffset |
timestamp [ (p) ] [ without time zone ] | DateTime |
timestamp [ (p) ] with time zone, timestamptz | DateTimeOffset |
tsquery | object |
tsvector | object |
txid_snapshot | object |
uuid | GUID |
xml | string |