天天看點

Dapper MySql DateTime 異常

實體類 字段類型 DateTime? ,MySQL資料庫中字段類型 datetime NULL ,

使用dapper擴充讀取,報異常:Error Parse column: ** - Object.

原因:Mysql連接配接字元串中啟用了 Allow Zero Datetime=True;

解決方法:連接配接字元串中去除該參數即可。

Allow Zero Datetime=true,可以解決的是 Mysql中datetime 預設值為0000-00-00/0000-00-00 00:00:00時無法正常轉換datetime的問題。

MySql連接配接字元串參數清單:

Server,host, data source, datasource, address, addr, network address: 資料庫位置(以上任何關鍵字均可)

Database,initial catalog:資料庫名

Port:       socket 端口,預設 3306

ConnectionProtocol,protocol:   連接配接協定,預設 Sockets

PipeName,pipe:       連接配接管道,預設 MYSQL

UseCompression,compress:   連接配接是否壓縮,預設 false

AllowBatch:   是否允許一次執行多條SQL語句,預設 true

Logging:   是否啟用日志,預設 false

SharedMemoryName:記憶體共享的名稱,預設 MYSQL

UseOldSyntax,old syntax, oldsyntax:是否相容舊版的文法,預設 false

ConnectionTimeout,connection timeout:連接配接逾時等待時間,預設15s

DefaultCommandTimeout,command timeout:MySqlCommand 逾時時間,預設 30s

UserID, uid, username, user name, user:資料庫登入帳号

Password,pwd:   登入密碼

PersistSecurityInfo:是否保持敏感資訊,預設 false

Encrypt:已經用 SSL 替代了,預設 false

CertificateFile:證書檔案(.pfx)格式

CertificatePassword:證書的密碼

CertificateStoreLocation:證書的存儲位置

CertificateThumbprint:證書指紋

AllowZeroDateTime:日期時間能否為零,預設 false

ConvertZeroDateTime:為零的日期時間是否轉化為 DateTime.MinValue,預設 false

UseUsageAdvisor, usage advisor:是否啟用助手,會影響資料庫性能,預設 false

ProcedureCacheSize,procedure cache, procedurecache:同一時間能緩存幾條存儲過程,0為禁止,預設 25

UsePerformanceMonitor,userperfmon, perfmon:是否啟用性能監視,預設 false

IgnorePrepare:   是否忽略 Prepare() 調用,預設 true

UseProcedureBodies,procedure bodies:是否檢查存儲過程體、參數的有效性,預設 true

AutoEnlist:   是否自動使用活動的連接配接,預設 true

RespectBinaryFlags:是否響應列上中繼資料的二進制标志,預設 true

TreatTinyAsBoolean:是否将 TINYINT(1) 列視為布爾型,預設 true

AllowUserVariables:是否允許 SQL 中出現使用者變量,預設 false

InteractiveSession,interactive:會話是否允許互動,預設 false

FunctionsReturnString:所有伺服器函數是否按傳回字元串處理,預設 false

UseAffectedRows:是否用受影響的行數替代查找到的行數來傳回資料,預設 false

OldGuids:   是否将 binary(16) 列作為 Guids,預設 false

Keepalive:   保持 TCP 連接配接的秒數,預設0,不保持。

ConnectionLifeTime:連接配接被銷毀前在連接配接池中保持的最少時間(秒)。預設 0

Pooling:   是否使用線程池,預設 true

MinimumPoolSize, min pool size:線程池中允許的最少線程數,預設 0

MaximumPoolSize,max pool size:線程池中允許的最多線程數,預設 100

ConnectionReset:連接配接過期後是否自動複位,預設 false

CharacterSet, charset:向伺服器請求連接配接所使用的字元集,預設:無

TreatBlobsAsUTF8:binary blobs 是否按 utf8 對待,預設 false

BlobAsUTF8IncludePattern:列的比對模式,一旦比對将按 utf8 處理,預設:無

SslMode:   是否啟用 SSL 連接配接模式,預設:MySqlSslMode.None