2013-09-28 23 views
0

我已經使用datafist方法最初構建了一個項目,但現在我似乎遇到了數據庫更改完成並且新的需求被給出的問題。每次我必須重新創建edmx更新edmx有時不會工作。有沒有辦法讓我可以回到codefirst方法,在那裏我可以通過使用電動工具來模仿datafirst方法?EntityFramework 5 datafirst方法

在此先感謝

+0

無法像更新edmx一樣從數據庫更新_code-first_模型。 –

+0

@GertArnold:當然有,電動工具有「逆向工程數據庫」,可以從數據庫重新創建模型。 –

+0

@WiktorZychla是的,但它不會更新edmx中可能存在的現有模型。 –

回答

0

我與實體類EDMX在外面工作,我只用EDMX生成初始類及其映射。生成實體後,我移動生成的代碼。因此,您可以將cs文件中的代碼複製並粘貼到您的app_code(如果有的話)或單獨的類項目中。您還需要更改項目中的引用以指向新的類或DLL。

我應該補充說,對模型的後續修改將是「代碼優先」,您還需要移動上下文類以使其工作。這不是模仿datafirst方法的一種方法,但這首先是嚴格的代碼。

+0

但是有沒有其他的方式,每次有人做數據庫更改我已經生成實體或更新edmx.I想有許多上下文而不是一個,所以如果有一個表上的數據庫更改,那麼我不應該有更新整個edmx或一次又一次地生成實體。 – user2799183

+0

有許多上下文而不是一個大上下文肯定是要走的路。在大多數情況下,其他任何事情都是很糟糕的做法我不知道有什麼辦法自動做到這一點(如果我正確理解你)。每次數據庫更改時,都需要以某種方式更新實體以反映更改。 – Louis