2013-06-02 78 views
0

我需要將數據從許多xmls遷移到sql服務器數據庫,並且它必須在事務中完成。 我想過EF和dbContext,因爲它本身就是一個UOW。Entity Framework vs 2010我可以執行以下操作:

我的問題是 你可以在運行時做數據庫優先嗎?

我想要做的是從類/數據集中的db存儲中讀取所有表,並將db.column映射到xml文件中的等效項並提交。

這必須以這樣的方式工作,即如果添加了表或添加了列,它將在沒有任何代碼更改的情況下工作,因爲它由db驅動。

我面對的問題是,如果需要新列的人在「不熟悉EF」時添加列「手動工作」,那麼使用從模型生成的Db。

我可以通過閱讀數據庫模式和映射到數據集,但想知道是否可以使用EF來做到這一點,我可以做我想要的與原始ado.net。

希望大家清楚

任何建議

+0

雖然我張貼的答案,也許我沒有完全理解你的問題。你能告訴我關於「在運行時」更具體嗎?正如你所知道的,當模式需要改變時,刷新EF需要'ALTER'數據庫。 – Youngjae

回答

0

當然可以。

您可以使用Entity Framework Power Tools,它允許您在開始時像Code-First一樣從數據庫創建Code-First文件。

或者,您也可以使用數據庫優先方法。這並不難。

如果您嘗試使用數據庫第一種方法,請閱讀我的嘗試和錯誤的經驗:post1post2

+0

@Younjae謝謝您的回覆。數據庫的第一種方法是全部在前。正確?這不會解決我的問題。不知道我有時間去學習其他東西,除非有一個教程介紹如何根據數據庫模式在運行時生成類 – user9969

+0

對於我來說,從EF數據庫生成的'.tt'文件 - 第一種方法總是創建新的模式每當刷新edmx時反射的類。這是你想要的嗎? – Youngjae

+0

對我來說聽起來不錯。你說過,當一個新列被添加到數據庫中時,所有人必須做的就是右鍵單擊「tt」文件,並且您將爲您生成一組新的類?任何教程,我可以快速嘗試2表。是否需要下載電動工具?使用vs 2010時,最新的EF版本是4.4這是好的 – user9969

相關問題