簡體   English   中英

實體框架6從現有表創建模型

[英]Entity Framework 6 Create model from existing table

我們必須維護一個非常古老的應用程序。 有一個舊部分(所有數據訪問都使用存儲過程處理),並且由於我的前任接管了應用程序,他們開始為使用實體框架6的新需求構建新部件。

現在,客戶有一個新的需求,需要訪問其中一個沒有EF模型的表。

是否有一種從現有數據庫表自動創建EF模型的簡單方法? 我只想要這一個表,而不是整個剩余的數據庫! )你知道任何可以實現這個的工具,還是我必須手工編寫?

提前致謝

打開實體數據模型(edmx)文件(編輯:或創建一個,如果您還沒有),右鍵單擊空白區域中的設計圖面,然后選擇“從數據庫更新模型”。

如果出現提示,請選擇正確的連接字符串,然后選擇“添加”選項卡,並深入查看要添加的數據庫中的表,並按其添加復選標記。 單擊完成,您就完成了。

我使用的是EF Power Tools ,它是Visual Studio的插件。

在這里下載

使用該插件,您可以對數據庫進行反向工程,以便在應用程序中創建對象和映​​射。 盡管它會節省你很多時間,但請注意它並不完美。 您可能希望查看索引和關系,因為我的案例中缺少某些索引和關系。

要反向設計數據庫,它就像這樣簡單:

Reverse Engineer Code First命令用於生成基於現有數據庫的POCO,映射(配置)和派生的DbContext類。

  • 右鍵單擊該項目,然后選擇Entity Framework - > Reverse Engineer Code First

  • 輸入有關您希望對Code First進行反向工程的現有數據庫的信息。

您可以從Microsoft查看此鏈接以獲取完整示例:

https://msdn.microsoft.com/en-us/data/jj593170.aspx

重要提示:自實體框架7(尚未發布)起,僅使用Code First方法。 例如,在選擇Model First之類的另一種方法之前,您可能需要考慮這一點。 您可以閱讀更多關於: EF7 - “僅代碼優先”的含義

查看EF電動工具插件,它為您提供Reverse Engineer Code First上下文菜單以及其他代碼生成選項

https://visualstudiogallery.msdn.microsoft.com/72a60b14-1581-4b9b-89f2-846072eff19d

你不能只創建一個EDMX,只讓它選擇你想要它指向的表而不是整個數據庫嗎?

請參閱本文中的Generate From Database

https://msdn.microsoft.com/en-us/data/jj206878.aspx

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM