2012-11-26 68 views
1

我覺得我失去了一些重要的東西在這裏。生成,命名空間POCO類

我「第一個數據庫」使用方法爲實體創建一個WCF數據服務(5.0)。

我已經創建了 「命名空間」 的名稱,使用.)如[Entertainment.Event][Promotions.Event]表。

EF 4.x POCO生成器模板當然會通過調用CSharpCodeProvider.CreateEscapedIdentifier()來敲掉這些模板。

我非常喜歡,以產生(和再生,並適當地映射)命名空間波蘇斯;特別是保留表的隱含名稱空間。

只要完成這個,我在看什麼?我猜測這將涉及一段時間的價值通過T4模板游泳。

最終,這是可行的嗎?

+0

我不明白這是如何工作的 - 表示表格的上下文屬性將是DataContext.Entertainment.Events,Datacontext.Promotions.Events等,這些將是無效的。 –

+0

@DStanley是的,你是對的。我想這將需要每個命名空間的附加上下文建議,或者某種別名。我猜我必須探索多個上下文。 – Dan

+0

@DStanley或者,這個特定的問題可以在模板中處理;在生成之前建立潛在屬性名稱列表,以及名稱空間限定對(*或更多*)。因此,「EntertainmentEvents」和「PromotionsEvents」將作爲上下文的屬性,但相關實體僅具有「事件」(*,前提是它們既不引用這兩種事件類型也不引用) – Dan

回答

2

我建議你創建一個上下文,根據你的數據庫模式,把每一個你喜歡的名字空間。

+0

謝謝@SergeBelov,但是,關於實體之間的關係在不同的情況下?遵循我的示例表格;一個'Entertainment.Event'和一個'Promotions.Event'可能每個都出現在同一個'Location'中 – Dan

+0

@Backcketworks在這裏有一個很好的討論:http://stackoverflow.com/questions/158986/how-to -relate-objects-from-multiple-contexts-using-the-entity-framework –

+0

謝謝@SergeBelov。我想我有一些閱讀要做,並重新考慮要做的事情;我對EF的理解還不夠完整,但是這似乎已經變得比必要的更加複雜。 – Dan