2010-07-16 55 views
2

您好我好奇DDD是如何使用Fluent Nhibernate真正實現的。例如,我有一個名爲User的實體類和另一個名爲UserProfile的類,就Im關心的UserProfile而言,它不是一個實體類,而是一個值類型,並且不應該具有與用戶實體關聯的身份。現在實際上實現用戶配置文件將被理想地存儲在名爲UserProfile的數據庫表中,並且我不知道如何擺脫這個表的唯一標識。我也使用FluentNhibernate作爲ORM,我相信UserProfile類需要有一個Id才能正確映射。那麼,值類型,聚合根等概念會發生什麼呢?是否真的有可能用流暢的Nhibernate實現真正的DDD,還是僅僅是我對DDD的理解很差。我真正看到的是關於整個事情的很多理論,但是我沒有看到一個真正使用NHibernate的真正DDD的項目。我現在有點糊塗了,任何幫助表示讚賞流利的Nhibernate域驅動設計

更新

好一點的讀了我的理解是repositores用於管理總根後,清除了一些問題,但最終的用戶配置文件類不是一個聚合根,所以我還應該給它一個ID?它顯然需要在數據庫表中的一個,所以我假設類也需要一個ID。但這是否違背了DDD的原則?這是怎麼回事?

回答

2

它需要一個Id來支持你的ORM(NHibernate),這很好。實體和價值類型之間的區別是他們的身份和生命週期的概念。擁有一個Id字段只是這裏的一個實現細節。

+0

謝謝qstarin,這清除了一些tyhe混亂 – Matthew 2010-07-16 15:59:52