0
我與EF4和VS2010一起使用mysql。我首先使用模型並使用從模型函數生成數據庫來創建數據庫。與EF4中的二進制propery與MySQL - 數據類型
問題是模型中的二進制屬性被轉換爲varbinary(100)。我需要將它們轉換爲MEDIUMBLOB。
我知道我可以手動改變它,但如果這可以自動完成,這將是非常好的。
我與EF4和VS2010一起使用mysql。我首先使用模型並使用從模型函數生成數據庫來創建數據庫。與EF4中的二進制propery與MySQL - 數據類型
問題是模型中的二進制屬性被轉換爲varbinary(100)。我需要將它們轉換爲MEDIUMBLOB。
我知道我可以手動改變它,但如果這可以自動完成,這將是非常好的。
一次性映射是否自動變化足夠? ;-)
您可以在模型設計器中執行此操作,只需從Entity RMB菜單中選擇Table mappings即可。
編輯:
這是奇怪,但它看起來像實際表映射不允許更改映射類型。
無論如何,你可以做的是改變T4模板來生成SQL。要做到這一點,找到文件:
VS_BASE_DIR\Common7\IDE\Extensions\Microsoft\Entity Framework Tools\DBGenSSDLToSQL10.tt
,並修改線路165回()而不是由ToStoreType返回一個EdmProperty的擴展方法正確的SQL類型名稱。不幸的是,我沒有找到直接修改它的方法。
當然,這將修改所有其他項目的設置。如果不需要,可以複製原始模板,並在每個項目中通過EF Model Properties \ DDL Generation Template選擇正確的模板。
我找不到任何方法來設置表映射中的結果db字段類型。你能解釋更多嗎? – Markus
謝謝你指點我正確的方向。我最終在同一位置編輯了GenerateMySQL.Utility.ttinclude文件。 – Markus
嘿,不知何故,我假設你使用MS SQL ;-)當然模板依賴於數據庫製造商,所以你必須採用解決方案來滿足自己的需求。 – mikus