2012-07-19 69 views
0

從我的理解。在EF的數據庫優先模式中。我們可以通過一些模板爲實體類生成代碼。如T4模板,DbContext生成器模板等,但我也可以在Designer.cs文件中找到相同的實體類定義。這是我的問題。實體框架中有多少代碼生成模板

  1. EF代碼生成器的用途是什麼? Designer.cs文件具有所有明確定義的實體類。是否有必要逐個生成實體類代碼?

  2. EF中有多少模板?他們有什麼區別?

回答

0

EF電動工具允許您爲現有數據庫生成代碼優先實體。

您將使用此數據庫而不是數據庫優先(EDMX)方法的原因是,從現在開始,您希望使用代碼優先來管理數據庫更新。這意味着您可以使用EF遷移,而不是直接對數據庫進行更改,然後更新EDMX。

對於從數據庫生成代碼文件的其他應用程序而言,所有EF方法最終都會生成代碼(不僅僅是代碼優先),但只有代碼先讓您控制生成的類(儘管您可以在生成EDMX時使用部分類)。模型和數據庫第一種方法依賴於在模型/數據庫更改時重新生成類。

據我所知EF電動工具是最好的方式(也是唯一微軟的方式),以從現有的數據庫

+0

嗨產生代碼優先模式。朋友。目前爲止。 EF電動工具只支持Sql server和C#。這是對的嗎? – 2012-07-20 12:16:00

+0

看起來像你的權利,目前似乎只有c#支持。 – 2012-07-20 12:22:42

+0

但我只是發現一個有趣的想法,它將與第三方數據庫和提供者結合起來。例如,您可以使用它來反向設計SQL Server數據庫,並使用Devart的dotConnect庫在Oracle,MySQL,PostgreSQL或SQLite中重新創建它。 – 2012-07-20 12:25:36