出現(xiàn)現(xiàn)象:使用EF新增記錄時(shí),一直報(bào)上述異常,網(wǎng)上說(shuō)是值為空、主鍵外鍵未設(shè)等原因?qū)е?,但是改正這些情況下問(wèn)題依然
解決過(guò)程:異常中有一句(請(qǐng)參見(jiàn)內(nèi)部異常),一直都沒(méi)有當(dāng)回事,后來(lái)實(shí)在沒(méi)辦法就靜下心來(lái)看了看,內(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表名無(wú)法從nvarchar轉(zhuǎn)化為varbinary,后來(lái)經(jīng)過(guò)仔細(xì)查看數(shù)據(jù)庫(kù)字段設(shè)置的都是varbinary(粗心),而本意是設(shè)置為varchar
將數(shù)據(jù)庫(kù)字段類(lèi)型改為varchar即可解決問(wèn)題
反思
1、其實(shí)異常信息已經(jīng)說(shuō)得很清楚,“請(qǐng)參見(jiàn)內(nèi)部異?!保菍?duì)此沒(méi)有在意,不夠仔細(xì)
以后寫(xiě)程序要仔細(xì)哦,看看最近的百度無(wú)人車(chē)的測(cè)試, 測(cè)試用程序員擋車(chē),你這代碼粗心大意的,敢攔截高速行駛的汽車(chē)嗎?
原文鏈接:錯(cuò)誤解析:EF更新條目時(shí)出錯(cuò),有關(guān)詳細(xì)信息,請(qǐng)參見(jiàn)內(nèi)部異常