【发布时间】:2010-05-13 21:18:32
【问题描述】:
我得到了一些带有扩展方法的静态类,它们使用存储库模式向实体添加“业务逻辑”。
现在有时我需要在这些扩展函数中创建一个新的IRepository。
我目前正在通过我正在扩展的对象访问我的 Ninject 内核来解决它,但这真的很丑:
public static IEnumerable<ISomething> GetSomethings(this IEntity entity)
{
using (var dataContext = entity.kernel.Get<IDataContext>())
return dataContext.Repository<ISomething>().ToList();
}
我还可以创建一个静态构造函数,以某种方式从工厂访问 Ninject 内核,在 Ninject 2 中是否已经有相应的基础架构?
有人知道更好的解决方案吗?有没有人用这种方式实现业务逻辑的一些cmets。
【问题讨论】:
标签: c# extension-methods repository-pattern ninject ninject-2