【发布时间】:2016-04-01 12:14:01
【问题描述】:
我在我的架构中使用存储库、工作单元和依赖注入模式 我的等级:
核心
数据层
业务层
服务层
我的结构有问题,在上面的工作单元中
public class UnitOfWork:IUnitOfWork
{
private readonly IDataContext _context;
private IKullaniciDal _kullaniciDal;
private IKategoriDal _kategoriDal;
private IUrunDal _urunDal;
public UnitOfWork(IDataContext context)
{
_context = context;
}
public IKategoriDal KategoriDal => _kategoriDal ?? (_kategoriDal = new KategoriDal(_context));
public IKullaniciDal KullaniciDal => _kullaniciDal ?? (_kullaniciDal = new KullaniciDal(_context));
public IUrunDal UrunDal => _urunDal ?? (_urunDal = new UrunDal(_context));
public void SaveChanges()
{
_context.SaveChanges();
}
}
在这里我想注入像 _kullaniciDAL 这样的 DataAccessLayers
搜索了很多,我看到了一些一般生成存储库的示例,但我不想直接从业务访问存储库实例,我想访问我的 KullaniciDal 类的实例 这是 KullaniciDal 的代码
public interface IKullaniciDal : IRepositoryEntityFramework<Kullanici>
{
}
public class KullaniciDal : RepositoryEntityFramework<Kullanici>, IKullaniciDal
{
public KullaniciDal(IDataContext dbContextBase) : base(dbContextBase)
{
}
}
我想写一些额外的函数到数据访问层,特别是其中一些函数,并希望将实例用作工作单元类的一部分
如何注入 Dal 类? 小心我将上下文对象传递给每个 dal 类
【问题讨论】:
标签: c# dependency-injection ninject repository-pattern unit-of-work