2009-10-29 146 views
5

我在EF上使用存儲庫模式在線查看了很多示例。但他們都沒有真正談到與相關實體合作。存儲庫模式和實體框架

就像說用戶可以有多個地址。

IUserRepository 
User CreateUser(); 
void UpdateUser(); 

現在,如果我要添加一個地址給用戶應該,它應該在存儲庫?或 用戶實例

我覺得存儲庫模式shud用於CRUD和獲取操作的實體。但是當涉及到與相關實體的合作時,他們應該在實體上真正定義[大部分]

就像在這種情況下一樣,沒有用戶的地址是無用的,它不應該在實體上嗎?

有什麼想法?

回答

4

這不是真正的EF問題;它更像是一個Repository模式問題。拿起一本DDD書,並閱讀聚合根的概念。如果一個地址「沒有用戶就無用」,那麼就像你說的那樣,它可能不應該在存儲庫上有CRUD方法。但是總根概念使得這更加正式。