【发布时间】:2011-04-11 02:09:17
【问题描述】:
假设使用诸如 NHibernate 或实体框架之类的 ORM,为复杂对象设计存储库的最佳方法是什么?
我正在使用 Entity Framework 4 创建一个应用程序。该应用程序使用复杂的对象——Foo 对象在 Foo.Bars 属性中包含 Bar 对象的集合,依此类推。过去,我会创建一个FooRepository,然后创建一个BarRepository,然后我会将BarRepository 的引用注入FooRepository 构造函数。
当查询被传递到FooRepository 时,它会根据需要调用BarRepository 来为每个Foo 对象构造Foo.Bars 属性。当Foo 对象被传递给FooRepository 进行持久化时,存储库将调用BarRepository 以将对象持久化到Foo.Bars 属性中。
我的问题很简单:这是建立存储库的普遍接受的方式吗?有更好的方法吗?感谢您的帮助。
【问题讨论】:
标签: nhibernate entity-framework orm repository