PostgreSQL

下面是PostgreSQL数据库独有的一些特性功能,当你们需要这个功能的时候可以使用


1、不规范表的支持

我们pgsql数据库表名称和字段名称应该全部设置为小写,这样我们查询的时候就不区别大小写,但是有些人就是不规范建表,带有大写字母

//按PG规范建的不需要设置  PgSqlIsAutoToLower(默认值true)
SqlSugarClient(new ConnectionConfig()
{
    DbType = SqlSugar.DbType.SqlServer,
    ConnectionString = Config.ConnectionString,
    InitKeyType = InitKeyType.Attribute,
    IsAutoCloseConnection = true,
    MoreSettings=new ConnMoreSettings() {
        PgSqlIsAutoToLower=false //数据库存在大写字段的 ,需要把这个设为false
    },
    AopEvents = new AopEvents
    {
        OnLogExecuting = (sql, p) =>
        {
            Console.WriteLine(sql);
            Console.WriteLine(string.Join(",", p?.Select(it => it.ParameterName + ":" + it.Value)));
        }
    }
 });
 //当PgSqlIsAutoToLower=false之后你的实体必须与数据库一模一样,你可以使用别名

 

2、JSON类型

PgSql 的Json类型操作实体需要配置

//可以是string类型  
[SugarColumn(IsJson =true,ColumnDataType ="json")] 
Public string JsonText{get;set;}
  
//可以是JSON对应的对象  
[SugarColumn(IsJson = true,ColumnDataType ="json")]
Public List<Order> JsonText{get;set;}


3、数组类型

 
[SugarColumn(ColumnDataType = "text []", IsArray = true)]  
public string [] MenuIds { get; set; }