2014-03-02 79 views

回答

13

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語句,而是寫。 (上面是僞代碼,原諒任何語法錯誤)

+0

我沒有明白。什麼是

+0

轉換(varbinary,ColumnName)最有可能...取決於您對現有數據所做的操作。 – DanS

+0

轉換語句的運氣好嗎? – DanS

相關問題