UnitOfWork与NInject设计问题

时间:2013-03-19 18:43:26

标签: ninject unit-of-work

我在DataAccess项目中有我的UnitOfWork类并解析我的IUnitOfWork接口(使用UnitOfWork类),我需要使用Ninject将IUnitOfWork接口与我的Web项目中的UnitOfWork类绑定。

为此,我需要在Web项目中引用我的DataAccess项目(包含UnitOfWork类)。这个好设计明智吗?我的意思是在网络项目中引用DataAccess似乎是一个坏主意&我从来没有这样做过。

那么,请告诉我该怎么做?

1 个答案:

答案 0 :(得分:2)

如果您不习惯参考DataAccess项目( imho这不是一个大问题),您可以创建包含NinjectModule s的单独项目(让我们称之为ModuleProject)。 ModuleProject将引用DataAccess和定义IUnitOfWork的项目。在您的Web项目中,您将引用ModuleProject并使用其类来注册模块。

<强>模块

public class NinjectConfiguration : NinjectModule
{
    public override void Load()
    {
        Bind<IUnitOfWork>().To<UnitOfWork>();
    }
}

在网络项目中注册

kernel.Load(new Mod.NinjectConfiguration());

有关模块here的更多信息。