實體框架4.3獲得Code First遷移功能但尚不支持枚舉

fmms 12年前發布 | 8K 次閱讀 .NET

實體框架(Entity Framework)4.3測試版已公布,而最大的功能更新之一是適用于 Code First 的自動數據庫遷移(Automatic Database Migrations)。此版本還具有完整的 XML 文檔和改進的日志記錄。不過,枚舉支持作為一個被普遍要求的功能,只有在實體框架5.0中才會實現它。

遷移(Migrations)到底是什么?截止到實體框架4.2,如果你把 Code First 與實體框架一起使用,那么當你每次修改模型時,根據你的個人喜好,要么刪除并重建數據庫(這個過程會讓你丟失庫中的測試數據),要么原樣保留數據庫,而由你手動升級數據庫架構(schema)。對此一種變通的方法是,創建自定義數據庫初始化器,并預置測試數據,以便在數據庫重建后能及時添加測試數據。然而隨著自動遷移的出現,這一切都將成為歷史。

來自微軟的這篇博文解釋了,如何為項目啟用遷移,以便當你修改模型時可以自動升級數據庫。你可以獲得用于升級的 SQL 腳本,稍后此腳本對于產品部署可能會有幫助。你還可以自定義這些遷移——例如,為剛剛添加的新列添加自定義的默認值。

此版本還包括完整的 XML 文檔(該文件將有助于智能感知),而且當啟用詳細日志記錄方式時會得到格外明細的日志。

某些功能將不包括在實體框架4.3中,包括備受期待的枚舉支持。 這也正是團隊要說的——

我們一直致力于若干須要升級某些程序集的功能,而那些程序集仍是 .NET Framework 的一部分。這些功能包括枚舉、空間數據類型、以及一些重大的性能改進。

因此一旦 .NET Framework 4.5 的下一預覽版可用,我們將推出實體框架5.0 Beta 1 版,其中將包括所有這些新功能。

對于現在的變通方法是,要么為枚舉屬性創建迷你包裝類(mini-wrappers),要么創建新實體,而這兩種方法都稍顯笨拙。希望我們將盡快得到此功能。

請注意,此測試版不打算或不許可用于生產環境,而且如果你想將它用于你的商業項目,那么你將必須等待最終版本。但是,你可以用它來考察新功能,并向實體框架團隊提供反饋。

查看英文原文:EF 4.3 Gets Code First Migrations But No Enum Support

    來自: InfoQ

 本文由用戶 fmms 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!