不支持 pg 数据库的数组类型
beginor opened this issue · comments
beginor commented
刚好有张测试表, 表结构为
-- Table: public.test_table
-- DROP TABLE public.test_table;
CREATE TABLE public.test_table
(
id integer NOT NULL DEFAULT nextval('test_table_id_seq'::regclass),
name character varying(32) COLLATE pg_catalog."default" NOT NULL,
tags character varying(32)[] COLLATE pg_catalog."default",
json_field json,
jsonb_field jsonb,
update_time timestamp without time zone,
int32_arr integer[],
int16_arr smallint[],
int64_arr bigint[],
real_arr real[],
double_arr double precision[],
bool_arr boolean[],
long_field bigint,
CONSTRAINT pk_test_table PRIMARY KEY (id)
)
WITH (
OIDS = FALSE
)
TABLESPACE pg_default;
ALTER TABLE public.test_table
OWNER to postgres;
COMMENT ON TABLE public.test_table
IS 'test table';
用 SmartCode 生成的实体类如下:
//*******************************
// Create By Ahoo Wang
// Date 2018-10-19 13:24
// Code Generate By SmartCode
// Code Generate Github : https://github.com/Ahoo-Wang/SmartCode
//*******************************
using System;
namespace SmartSql.Starter.Entity
{
///<summary>
///TestTable
///</summary>
public class TestTable
{
///<summary>
///Id
///</summary>
public int Id { get; set; }
///<summary>
///Name
///</summary>
public string Name { get; set; }
///<summary>
///Tags
///</summary>
public ? Tags { get; set; }
///<summary>
///JsonField
///</summary>
public string JsonField { get; set; }
///<summary>
///JsonbField
///</summary>
public string JsonbField { get; set; }
///<summary>
///UpdateTime
///</summary>
public DateTime? UpdateTime { get; set; }
///<summary>
///Int32Arr
///</summary>
public ? Int32Arr { get; set; }
///<summary>
///Int16Arr
///</summary>
public ? Int16Arr { get; set; }
///<summary>
///Int64Arr
///</summary>
public ? Int64Arr { get; set; }
///<summary>
///RealArr
///</summary>
public ? RealArr { get; set; }
///<summary>
///DoubleArr
///</summary>
public ? DoubleArr { get; set; }
///<summary>
///BoolArr
///</summary>
public ? BoolArr { get; set; }
///<summary>
///LongField
///</summary>
public long? LongField { get; set; }
}
}
Ahoo Wang commented
beginor commented
@Ahoo-Wang 对这个项目不是很熟悉, 不敢轻易下手。 貌似还有一个小问题, 就是 json
和 jsonb
字段, 在 npgsql 4.x 中是使用 Newtonsoft.Json
来处理的, 通常映射成 JToken
类型。