3
엔티티 프레임 워크에서 UnitOfWork Pattern을 사용하여 벨로우즈 코드를 사용하여 DbContext를 노출합니다. 그래서 제 질문은 Ninject와 함께 Context 인스턴스를 얻는 것이 가능한가?Ninject를 통해 UnitOfWork 내에서 DbContext 인스턴스를 얻는 방법?
IUnitOfWork
public interface IUnitOfWork<C> : IDisposable
{
int Commit();
C GetContext { get; set; }
}
의 UnitOfWork 내 지금
public class UnitOfWork<C> : IUnitOfWork<C> where C : DbContext
{
private bool _disposed;
private readonly C _dbContext = null;
public UnitOfWork()
{
GetContext = _dbContext ?? Activator.CreateInstance<C>();
}
public int Commit()
{
return GetContext.SaveChanges();
}
public C GetContext
{
get;
set;
}
[...]
NinjectWebCommon
private static void RegisterServices(IKernel kernel)
{
kernel.Bind<IUnitOfWork<MyDbContext>>().To<UnitOfWork<MyDbContext>>().InRequestScope();
kernel.Bind<IEmployeeRepository>().To<EmployeeRepository>();
}
W _dbContext ?? Activator.CreateInstance<C>();
을 사용하지 않고 DbContext 인스턴스를 통해 Ninject을 얻을 수 있습니까?
내
Ninject에 DI 구성
그리고 울부 짖는 솔루션을 확인? – jrummell
'커널 .Bind() .ToSelf(). InRequestScope();'할 수 있습니까? 하지만 UnitOfWork 내의 코드는 무엇이 될까요? –
나는 Ninject에 익숙하지 않지만'C' 매개 변수를 허용하는 생성자를 추가 할 수 있다고 가정합니다 :'Public UnitOfWork (C context)'. – jrummell