6
我將模型中字段的數據類型從字符串更改爲字節數組,當我運行時出現此錯誤Update-Database
代碼第一次遷移的方法。代碼第一次遷移錯誤「不允許從數據類型nvarchar(max)到varbinary(max)的隱式轉換」
不允許從數據類型nvarchar(max)到varbinary(max)的隱式轉換是 。使用CONVERT功能運行此查詢
解決方法是什麼?
感謝
我將模型中字段的數據類型從字符串更改爲字節數組,當我運行時出現此錯誤Update-Database
代碼第一次遷移的方法。代碼第一次遷移錯誤「不允許從數據類型nvarchar(max)到varbinary(max)的隱式轉換」
不允許從數據類型nvarchar(max)到varbinary(max)的隱式轉換是 。使用CONVERT功能運行此查詢
解決方法是什麼?
感謝
SQL Server不能直接將字符串更改爲二進制,所以它要求你將數據轉換。如果需要的話
AddColumn("dbo.TableName", "ColumnNameTmp", c => c.Binary());
Sql("Update dbo.TableName SET ColumnNameTmp = Convert(varbinary, ColumnName)");
DropColumn("dbo.TableName", "ColumnName");
RenameColumn("dbo.TableName", "ColumnNameTmp", "ColumnName")
而在向下的方法相反,:對於代碼第一次遷移,我會從DbMigration手動刪除的AlterColumn語句,而是寫。 (上面是僞代碼,原諒任何語法錯誤)
我沒有明白。什麼是
轉換(varbinary,ColumnName)最有可能...取決於您對現有數據所做的操作。 – DanS
轉換語句的運氣好嗎? – DanS