需求建议: sugar内预定义defaultValue通用日期值字符串 返回

SqlSugar
3 235

winform为了同步各客户端时间,会大量在语句中使用数据库当前时间。 

但是SugarColumn 特性里面 DefaultValue 又不能用动态表达式, 不同的数据库就要切换不同的Model.


希望 sugar内预定义defaultValue通用日期值字符串, 生成语句的时候,根据dbtype 自动替换。 


  [SugarColumn(ColumnName = "ExpireTime",DefaultValue = "GetDate()")]

  public DateTime ExpireTime { get; set; }


热忱回答3

  •  var date = InstanceFactory.GetSqlbuilder(db.CurrentConnectionConfig).FullSqlDateNow.ToLower()

    .Replace("select", "")

    .Replace("from dual", "")

    .Replace(" ", "");

    0 回复
  •   var date = InstanceFactory.GetLambdaExpressions(db.CurrentConnectionConfig).DbMehtods.GetDate();   用这个更美观一点

    0 回复
  • var db= new SqlSugarClient(new ConnectionConfig()
    {
     DbType = SqlSugar.DbType.MySql,
     ConnectionString = Config.ConnectionString,
     sAutoCloseConnection = true,
     ConfigureExternalServices=new ConfigureExternalServices() {
        EntityService = (t, column) => 
        {
            if (column.DefaultValue == "你的值")  
            {
                 column.DefaultValue =InstanceFactory.GetLambdaExpressions(new ConnectionConfig(){ ...}).DbMehtods.GetDate();
            }
        }
    }
    });


    0 回复