FreeSql
FreeSql copied to clipboard
FreeSql.Generator, 自带模版,会导致mysql数据库,日期类型实体出现bug
如果mysql数据库 ,日期类型的字段,给了默认值为当前时间的设置.那么在使用 FreeSql.Generator,生成的实体的时候. 日期字段上面会赋有一个特性.InsertValueSq1 = "CURRENT TINESTAMP. 这个特性将导致,在添加数据的时候,所有的日期值被无视. 都已当前时间入库. 虽然问题很简单,但是这个问题造成的影响非常严重.
我这在模版上,做了稍许修改, 解决了这个问题,提交上来,希望官方能升级原始模版,以免有人反复踩坑.
我这模版上做的修改是. Func<string, string> GetAttributeString = attr => { if (string.IsNullOrEmpty(attr)) return ""; if (attr.ToUpper().Contains("CURRENT_TIMESTAMP")) { return ""; } return string.Concat(", ", attr.Trim('[', ']')); };
问题描述及重现代码:
// c# code