Dot-Net

在執行時修改實體框架模型

  • June 21, 2016

這純粹是與 EF4 相關的概念和設計思想。

範例/場景是一個大型 ERP 或 CRM 類型的系統,公司可能需要添加傳統的“使用者定義欄位”來擷取額外的數據。

我知道 EF 有一些功能可以在執行時將模型推送到數據庫,但問題真的是你可以使用 EF 來修改模型並實時更新數據儲存嗎?

換句話說,如果我為使用者提供一種機制來添加使用者定義的列、關聯的數據類型和空要求,是否可以使用 EF 即時完成,然後為所有未來的會話記住?

它就在那裡,但我想你們都會看到我在說什麼。

布倫特

過去我被問過幾次這個問題。沒有明顯或簡單的方法。可能沒有辦法,但我們是開發人員,總有辦法!我知道那是什麼嗎?不,我能想出一些主意嗎?….Mmmm.. 在執行時,模型基於元數據工作區中的強類型類。您可以即時創建它們。但是你需要修改 edmx 文件的 xml。有 LINQ to XML 或 xpath。修改數據庫模式…模型如何首先建構 dbs…它創建 sql 然後執行它。您必須創建 sql(如何?聳聳肩)並執行它(objectcontext.executestorecommand())。可行的?可能的?我沒有任何線索。真的,答案是否定的……據我所知,VS 或 .NET 4(EF API)中沒有任何東西可以輕鬆啟用此功能。肯定有人比我更聰明、更有耐心(浪費了??)很多時間(試圖)智取英孚來實現這一目標。但是,根據您對 Jeremy 部落格文章的建議的回复,您正在尋找內置/方便的東西。用“不”更容易回答。

julie

引用自:https://stackoverflow.com/questions/4019895