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 に注入する必要があります。私を案内してください。