MySql

字符串格式 :  server=localhost;Database=SqlSugar4xTest;Uid=root;Pwd=haosql


注意: 

 1、使用 阿里云  RDS MySql 数据库 并且连接字符串是域名的用户 

 .net core 或者 Net5 请用 sqlSugarCore.MySqlConnector  替换 sqlSugarCore

 Freamework 用户不受影响  

 2、MySql.Data ,禁止使用6.10.xx

 推荐: 8.0.21和6.9.12  

 3、Unable to convert MySQL date/time value to System.DateTime 错误

 解决办法3选1:

 1、将该字段的缺省值设置为null,而不是0000-00-00/0000-00-00 00:00:00的情况;

 2、在链接MySQL的字符串中添加:Convert Zero Datetime=True 和 Allow Zero Datetime=True两个属性;

 3、将该字段设置成字符串类型;


MySql插入时间带毫秒

 1.1 版本要求

  .net framework 4.5.2     

  需要安装MySql.Data 8.0以上版本  
  . net core 2.0+  
  驱动会自动安装

 1.2 用法

[SugarColumn(ColumnDataType = "DATETIME(3) ")]
public DateTime CreateTime { get; set; }

驱动的DataReader.GetDateTime()是不支持查出毫秒的,所以你要查毫秒代码需要这么处理:

Select(it=>new {
           CreateTime=it.CreateTime.ToString() //转成string就能查出带毫秒的时间
         });

 1.3  .net framework 4.5.2  以下版本用法

[SugarColumn(ColumnDataType = "DATETIME(3) ")]
public  string CreateTime { get; set; } //直接用string


MYSQL 禁用NVarchar

特殊服务器不支持 N'xx' 这种 Narchar插入

MySQL表情可能也不能使用N进行插入

 DbType = SqlSugar.DbType.MySql,
    ConnectionString = Config.ConnectionString,
    InitKeyType = InitKeyType.Attribute,
    IsAutoCloseConnection = true,
    MoreSettings=new ConnMoreSettings() {
        MySqlDisableNarvchar=true //这里设置为true
    },