2011-01-25 84 views
1

我已經對與實體框架實施POCO即嘗試在EF4上使用POCO時,最佳方法是什麼?

  1. 創建EDMX模型,並關閉代碼生成這樣的模型不會爲你帶來大量的實體閱讀here 3種方法。然後你將創建你的POCO類,它必須遵守一些限制。
  2. 您可以使用可下載到VS 2010的POCO template
  3. 使用Code第一種方法,您可以在其中編寫POCO並在代碼中定義映射。要做 這需要使用EF 4.0 Feature CTP here

我個人會選擇第二種方法,因爲它更快,但是我應該記住的事情是什麼,因爲它是從ObjectContext派生的,我猜它是以某種方式耦合的?我知道第三種方法提供了最大的靈活性,但是值得嗎?請分享你對此的想法..謝謝!

+0

如果我無法控制主機上安裝的內容,是否可以在共享主機環境中使用CTP?我認爲這是重要的考慮。 – kahoon 2011-01-25 22:40:09

回答

2

鏈接您提供了「POCO模板」壞了 - 但我認爲你的意思是這樣的:

http://visualstudiogallery.msdn.microsoft.com/23df0450-5677-4926-96cc-173d02752313

這個模板可以(也應該)在一起選擇可以使用選項1你說。

這就是我在我目前的應用程序中使用:

1 - 創建EDMX型號

2 - 關閉代碼生成

3 - 使用POCO發生器生成POCO類

的POCO不是來自任何東西 - 它們是純粹的POCO。

+0

您如何看待第三種選擇?這值得麼 ?此外,生成的poco類上下文來自`ObjectContext`,你認爲這是一個問題還是一個缺點? – Vishal 2011-01-26 15:56:15

0

我發現這兩個鏈接在設置我的模型/ poco類時是非常寶貴的。 Poco generationPoco options。如上所述,這是一個好主意(當然,如果使用存儲庫模式)關閉edmx中的代碼生成並通過Microsoft提供的兩個T4模板創建派生的ObjectContext類和Poco類。

如果您使用T4模板時未對其進行任何更改,那麼您將在生成的代碼中啓用「修改跟蹤代理與修正」選項來獲得一組Poco類。

相關問題