簡體   English   中英

實體框架-首先在模型中,如何使我的EF類基於我已有的現有域類?

[英]Entity Framework - in model first, how do I get my EF classes to be based on the existing domain classes I have?

如果我已經擁有域類,並且希望能夠通過模型優先方法使用EF來持久化它們,該如何做?

例如,是否要去EF設計器(在VS2010中)並創建模型並生成類,然后去這些EF類並以某種方式手動修改它們? 但是如果我需要更改模型並從模型中重新創建數據庫TSQL進行更新,那會不會有問題?

最簡單的方法是什么?

編輯-就我而言,我有一些進行圖導航​​的基類-我希望我可以(a)將圖遍歷例程留在業務邏輯程序集中,例如NodeBase,RelationshipBase等,然后(b)使用我的EF堅持在一個單獨的EF程序集中。 我對此有什么建議?

編輯2-實際上,我注意到我注意到“添加代碼生成項..”中的以下模板選項。

  1. ADO.NET C#POCO實體生成器模板-在線
  2. ADO.NET自跟蹤實體生成器-本地
  3. ADO.NET實體對象生成器

我猜想#3是VS2010隨附的默認值。 #1和#2中的任何人,哪個可能最有助於實現我的目標? 即擁有一組現有的域類,這些域類具有已經從其他類繼承的方法(即注意當前EF生成的實體類,它們似乎已經必須從EntityObject繼承)

生成的類都是局部的。 因此,如果您具有相同的名稱空間和相同的實體/類名稱,則將現有的類集與模型優先的實體集合並是相當容易的。 只需將partial放在您的類上,並刪除由Entity Framework生成的代碼實現的所有屬性。

暫無
暫無

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

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