出現(xiàn)現(xiàn)象:使用EF新增記錄時,一直報上述異常,網(wǎng)上說是值為空、主鍵外鍵未設(shè)等原因?qū)е?,但是改正這些情況下問題依然
解決過程:異常中有一句(請參見內(nèi)部異常),一直都沒有當(dāng)回事,后來實在沒辦法就靜下心來看了看,內(nèi)容異常內(nèi)容如下:
InnerException: System.Data.SqlClient.SqlException
HResult=-2146232060
Message=Implicit conversion from data type nvarchar to varbinary is not allowed. Use the CONVERT function to run this query.
Message表名無法從nvarchar轉(zhuǎn)化為varbinary,后來經(jīng)過仔細(xì)查看數(shù)據(jù)庫字段設(shè)置的都是varbinary(粗心),而本意是設(shè)置為varchar
將數(shù)據(jù)庫字段類型改為varchar即可解決問題
反思
1、其實異常信息已經(jīng)說得很清楚,“請參見內(nèi)部異常”,但是對此沒有在意,不夠仔細(xì)
以后寫程序要仔細(xì)哦,看看最近的百度無人車的測試, 測試用程序員擋車,你這代碼粗心大意的,敢攔截高速行駛的汽車嗎?
原文鏈接:錯誤解析:EF更新條目時出錯,有關(guān)詳細(xì)信息,請參見內(nèi)部異常