ninject - UnitOfWork 与 NInject 设计问题

标签 ninject unit-of-work

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

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

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

最佳答案

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

模块

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

在网络项目中注册

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

有关模块的更多信息 here .

关于ninject - UnitOfWork 与 NInject 设计问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15507915/

相关文章:

asp.net-mvc - MVC Ninject 我不想引用数据层而只想引用服务层

asp.net-mvc - 自定义授权 MVC 3 和 Ninject IoC

c# - 使用 Moq 对通用工作单元和存储库模式框架进行单元测试

domain-driven-design - 工作单元对整洁架构 (DDD) 有意义还是仅存储库就足够了?

entity-framework - 工作单元, Entity Framework DBContext 范围

c# - 我应该在哪里定义我的 NinjectModule 和我的工厂?

c# - Ninject WCF Bootstrap 注册多个服务

asp.net-web-api - 使用 Web API 和 Ninject 注入(inject) IOwinContext

asp.net-mvc - 使用带有 MVC 5/EF 的 GenericRepository 实现工作单元

c# - 如何模拟 IRepository<T>?