2011-03-09 90 views
3

我在玩最新的實體框架,如果可能的話,我想將生成的類分成每個類1個文件。實體框架 - 單獨的類文件

我也希望能夠在分裂後重新生成這些文件。

雖然這個問題提出了這個問題,但這個問題已經過時了,接受的答案是「也許在將來」。 Split EDMX for Entity Framework - Breakout object layer into separate files - possible?

可以做到這一點嗎?如果是這樣,我該如何去做這件事?

感謝

+0

我相信有T4模板可以做到這一點,可能有多個變種,但我最近沒看過。 – 2011-03-09 08:43:48

+0

你是對的,它與此捆綁(http://visualstudiogallery.msdn.microsoft.com/23df0450-5677-4926-96cc-173d02752313)。似乎工作正常。 – Russell 2011-03-09 20:13:25

回答

2

使用EFv4和T4模板(用於實體對象或POCO)。它將爲每個創建的實體創建單獨的文件。我不知道爲什麼你想要它。它是生成的代碼,不得手動修改,因爲在下次再生期間修改將會丟失。

打破EDMX insto單獨的文件是某種可能性,但很難 - 這是手動工作。檢查這些文章(part 1part 2)。這是處理大型模型的方法。

+0

是的,我更喜歡T4模板方法我認爲嘗試和分割EDMX文件是不明智的 - 這可能很難維護。感謝您的鏈接! – Russell 2011-03-09 10:58:58

+1

我發現了一個來自MSDN的鏈接(http://visualstudiogallery.msdn.microsoft.com/23df0450-5677-4926-96cc-173d02752313),它是一個POCO實體生成器。謝謝:) – Russell 2011-03-09 20:12:52

+0

上面的鏈接實際上是一個T4模板。 – Russell 2011-03-09 20:26:21

-5

忘記一代廢話,與最新的EF啓動和使用代碼優先的方法。然後您可以完全控制POCO。 EF仍然有點不足,但代碼優先的方法將允許您按照自己的喜好創建類,然後將它們鏈接到ORM位。如果你不想寫你自己的課程,我知道你無法實現你的願望。

+3

「代碼優先」方法不是我必須做的選擇,因爲我首先使用數據庫設計方法論的一部分。我並不以自己的技術戰略爲基礎,但他們將如何爲我的項目增加價值。 – Russell 2011-03-09 05:18:26

+0

每個文件都可以向Microsoft請求單個類的請求,但由於下一次重新發布已經設置了功能,因此不會出現相當長的一段時間。他們會評估它是否足夠大,以適應80%的需求,如果是的話。另一種選擇是第三方工具或首先編碼。 – 2011-03-09 18:40:02

+0

在VS圖庫(請參閱上面的鏈接)中,Microsoft已經發布了執行此操作的功能。雖然它並未與VS 2010一起默認捆綁在一起。 – Russell 2011-03-16 23:44:40