我有以下的UnitOfWork類:統一的IoC泛型類
public class UnitOfWork<TContext> : IUnitOfWork where TContext : IContext, new()
{
private readonly IContext _context;
public UnitOfWork()
{
_context = new TContext();
}
public UnitOfWork(IContext context)
{
_context = context;
}
...
}
,我希望把它註冊到使用Unity IoC容器,但我不知道該怎麼做。我試圖做這樣的事情:
var container = new UnityContainer();
container.RegisterType(typeof(UnitOfWork<>), new InjectionConstructor(new GenericParameter ("TContext")));
...
但它沒有工作。任何想法如何做到這一點?
Tnx。
爲什麼這個類有2個公共構造函數? – Steven
它爲什麼重要? –
由於具有多個構造函數是一種設計氣味,因爲它會導致模糊。爲什麼工作單元需要創建一個'TContext',它將從外部提供? – Steven