DefaultValue和IsOnlyIgnoreInsert不生效问题咨询 返回

SqlSugar 待处理
4 189

        /// <summary>

        /// 来电前台是否已弹窗0否 1是

        /// </summary>            

        [SugarColumn(ColumnName = "handle_status", DefaultValue = "0", IsOnlyIgnoreInsert = true)]

        public int HandleStatus { get; set; }


请问此配置进行insert时,当HandleStatus 为null,会获取默认值为0不?现在实际情况是数据库插入为null

数据库设置的字段是`handle_status` tinyint DEFAULT NULL,

热忱回答4

  • fry fry VIP0
    2周前

    这个默认值的设计让人很费解,不是我们理解上的那种,前端不传值,给默认值;但是也可以理解,如果默认值是一个函数,多库的兼容问题也是个问题,比如:默认值设置 “now()”这个函数不一定所有数据库都支持。可以在aop中支持所有字符串类型的默认值,这是可以的

    0 回复
  • @fry:感谢,原本以为程序支持的话,就不在aop上处理

    0 回复
  • 因为这个“默认值”是CodeFirst维护的时候用于设置数据库列的默认值用的,它不是通过AOP执行数据新增的时候使用的默认值...

    0 回复
  • fry fry VIP0
    2周前

    @飞羽流星:可以实现,但也仅针对字符串类型的字段

    0 回复