【发布时间】:2011-08-09 17:48:52
【问题描述】:
我有接口 IRepository,它统一映射到类 GenericRepository。
IOC.Container.RegisterType<IRepository, GenericRepository>();
(GenericRepository 采用 ObjectContext(实体框架上下文)来执行其数据操作)
问题是我需要几个不同的 GenericRepository 实例。 (我的解决方案中有几个实体框架模型)
在业务层逻辑的每个部分中,我都需要解析 IRepository 并获取一个 GenericRepository,该 GenericRepository 已为与该部分业务层逻辑对应的模型初始化。
我需要一些方法来设置选项...我不知道这是我独有的问题,还是其他人也有这个问题。
有没有办法告诉 Unity 如何做到这一点?
注意:我不希望将 ObjectContext 的实例作为参数传递给 Resolve 方法。如果我这样做,那么我就违背了存储库模式的目的(抽象数据层以便我可以轻松地进行单元测试)。
【问题讨论】:
标签: c# dependency-injection inversion-of-control unity-container