我們每6個月運行一系列報告並將結果存儲到可以在將來隨時查詢/查看的表中。根據週期,將添加兩個或四個表格。他們有一個標準的yyyy_mmm_Table_x命名約定。如何在代碼中動態地將表添加到EF4上下文中 - 無代碼優先
我們的網站使用ASP.Net MVC2構建,數據庫使用標準模型設計器而不是Code First使用EF4進行建模。
我希望能夠在運行時動態地將報表添加到EF4上下文中。我不想用設計器手動將它們添加到模型中,否則每個報告週期我們都必須更新並重新編譯模型,因爲我們添加了額外的報告。當沒有其他變化時,這將是一個維護頭痛。
我可以簡單地通過查詢sysobjects來獲取可用表的列表。如果我可以得到這個列表,並在網站啓動時將表格添加到上下文中,那麼我可以使用類似Dynamic LINQ庫的內容來根據用戶從下拉列表中選擇的表格進行查詢。
我不能使用EF4的代碼首先開箱,因爲這會迫使我創建表的具體類,這隻會是同樣的維修頭痛。我懷疑我可以使用Code First框架用來動態更新上下文的相同策略,但是我根本沒有看過這個庫,我希望有人熟悉它可以指向正確的方向。
否則,我想我將不得不退回到ADO.Net來處理這個區域。這可能是最好,最簡單的方法,所以我想我正在尋找意見。我不是一個狂熱者,所以我不需要一切都在LINQ和EF4中。 :)但它似乎有點清潔和一致,特別是如果它允許我使用動態LINQ。但有時舊的方式更簡單。
所以,如果您有任何建議或意見,我很樂意聽到他們。
謝謝!