假設使用諸如NHibernate或Entity Framework的ORM,爲複雜對象設計存儲庫的最佳方法是什麼?複雜對象的存儲庫設計?
我創建使用實體框架4.應用程序的應用程序使用複雜的對象 - 一個Foo
對象包含在Foo.Bars
財產Bar
對象的集合,等等。在過去,我會創建一個FooRepository
,然後創建一個BarRepository
,並且我會將BarRepository
的引用注入到FooRepository
構造函數中。
當一個查詢被傳遞給FooRepository
時,它會根據需要調用BarRepository
來爲每個Foo
對象構造Foo.Bars
屬性。當一個Foo
對象傳遞給FooRepository
進行持久化時,存儲庫將調用BarRepository
以將對象保留在Foo.Bars
屬性中。
我的問題很簡單:這是一個普遍接受的方式來設置存儲庫?有更好的方法嗎?謝謝你的幫助。