我的应用程序包含三个项目。核心、DAL 和 BAL。
核心包含域对象(客户、订单、产品)。它还包含基本的 IRepository 接口 IRepository<T>.
DAL 包含 EntityFramework 特定的东西。它还包含具体的存储库(CustomerRepository、OrderRepository、ProductRepository)。我在这里添加了这些具体的存储库,因为它们依赖于 DbContext(这是 EF 特定的)
现在我的 BAL 应该只依赖于 Core,而不依赖于 DAL。我在这个项目中添加了对 NInject 的依赖。但是,我仍然需要告诉 Ninject 它应该将 IRepository 解析<Customer>
为 CustomerRepository,这迫使我在此处添加 DAL 依赖项。是否有避免在我的 BAL 项目中添加对 DAL 的依赖?