2

IoCにNinjectを使用しています。私は次のクラスを持っています。

// Repository
public class EFProductRepository : IProductRepository, IUnitOfWorkRepository
{
  private IUnitOfWork unitOfWork;
  private EFDbContext efDbContext;

  public EFProductRepository(IUnitOfWork uow)
  {
    unitOfWork = uow;
    efDbContext = new EFDbContext();
  }
  //
}

// Controller
public class ProductController : Controller
{
  private IUnitOfWork unitOfWork;
  private IProductRepository productRepository;

  public ProductController(IUnitOfWork uow, IProductRepository repo)
  {
    unitOfWork = uow;
    productRepository = repo;
  }
}

現在、私のninjectバインディングは次のとおりであり、インターフェースの具象クラスの新しいインスタンスを割り当てます。

ninjectKernel.Bind<IUnitOfWork>().To<UnitOfWork>();
ninjectKernel.Bind<IProductRepository>().To<EFProductRepository>();

ninject コントローラー ファクトリを使用して、IUnitOfWork クラスの同じインスタンスを ProductController と EFProductRepository に注入する必要があります。私を案内してください。

4

0 に答える 0