Repository Pattern Unit of work Dependency Injection Ninject
<p>I use repository, unit of work and dependency injection patterns in my architecture
My tiers  :</p>

<p>Core</p>

<p>DataLayer</p>

<p>BusinessLayer</p>

<p>ServiceLayer</p>

<p>There is something wrong in my structure, in unit of work class as above </p>

<pre><code>   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 =&gt; _kategoriDal ?? (_kategoriDal = new KategoriDal(_context));

    public IKullaniciDal KullaniciDal =&gt; _kullaniciDal ?? (_kullaniciDal =  new KullaniciDal(_context));

    public IUrunDal UrunDal =&gt; _urunDal ?? (_urunDal = new UrunDal(_context));

    public void SaveChanges()
    {
        _context.SaveChanges();
    }
}
</code></pre>

<p>here i want to inject DataAccessLayers like _kullaniciDAL</p>

<p>searched a lot and i saw some examples for generating repository genericly bu i dont want to access the repository instance directly from business, i want to access the instances of my KullaniciDal class
Here is the code of KullaniciDal</p>

<pre><code> public interface IKullaniciDal : IRepositoryEntityFramework&lt;Kullanici&gt;
{
}

public class KullaniciDal : RepositoryEntityFramework&lt;Kullanici&gt;, IKullaniciDal
{
    public KullaniciDal(IDataContext dbContextBase) : base(dbContextBase)
   {
   }
}
</code></pre>

<p>I want to write some extra functions to data access layer in special to some of them and want to use the instances as a part of unit of work class</p>

<p>How can i inject Dal classes? 
Be carefull that i pass context object to every dal class</p>