【发布时间】:2018-12-30 04:02:03
【问题描述】:
public BranchUOW(Func<FoodieTenantContext,BranchRepository> branchRepository,
Func<FoodieTenantContext, BranchContactRepository> branchContactRepository,
FoodieTenantContext ctx, IMapperService mapperService)
: base(ctx)
{
_ctx = ctx;
_branchRepository = branchRepository(ctx);
_branchContactRepository = branchContactRepository(ctx);
_mapperService = mapperService;
}
BranchRepository 的样子
public BranchRepository(FoodieTenantContext ctx)
: base(ctx)
{
}
尝试了以下排列
container.Register(
Component.For<Func<FoodieTenantContext, BranchRepository>>()
.ImplementedBy(typeof(IRepository<BranchRepository>))
.LifestyleTransient()
);
container.Register(
Component.For<Func<FoodieTenantContext, BranchContactRepository>>()
.ImplementedBy(typeof(IRepository<BranchContactRepository>))
.LifestyleTransient()
);
但无法实例化并引发以下错误。
输入 foodie.common.Repository.IRepository
1[[foodie.tenant.EF.Repository.Domain.BranchRepository, foodie.tenant.EF, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]] is abstract.\r\n As such, it is not possible to instansiate it as implementation of service 'foodie.common.Repository.IRepository1[[foodie.tenant.EF.Repository.Domain.BranchRepository, foodie.tenant.EF, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null]] '。忘记代理了吗?
谢谢。
【问题讨论】:
标签: c# asp.net dependency-injection delegates castle-windsor