title: How to avoid having BAL dependent on DAL due to DI Container binding requirements?
body: <p>My application consists of three projects. Core, DAL and BAL. </p>
  
  <p>Core contains Domain  objects (Customer, Order, Product). It also contains basic IRepository interface IRepository<code>&lt;T&gt;.</code></p>
  
  <p>DAL contains EntityFramework specific  stuff. It also contain Concrete Repositories ( CustomerRepository, OrderRepository, ProductRepository). I added these concrete repositories  here as they depend on DbContext (which is EF Specific)</p>
  
  <p>Now my BAL should only have dependency on Core and no dependency on DAL. I have added a dependency on NInject in this project. However, I still need to tell Ninject that it should resolve IRepository<code>&lt;Customer&gt;</code> as CustomerRepository and that is forcing me to add DAL dependency here. Is there anyway of avoid adding dependency on DAL in my BAL Project?</p>