【发布时间】:2020-07-15 19:20:42
【问题描述】:
如果我有三个这样的项目:
- WebApi(asp.net web core)
- Shared.Infrastructure(包含通用存储库)
- DAL(使用 EF 核心)
第二个项目有第三个项目的引用。 第一个项目(api)有第二个项目的引用。
我观察到的是:
第三个项目中的所有东西都可以在第一个项目中访问 (api)包括
db context and the EF core!
我希望 DAL 在第二个项目中无法访问。我不希望第一个和第三个项目之间存在这种可转移的依赖关系,因为现在API 中的任何人都可以跳过第二个项目中的 repo 并直接使用第三个项目(DAL)!
【问题讨论】:
-
您的 API 是容器,因此它必须了解所有类才能构建依赖关系图。这是基本的依赖注入。
标签: c# asp.net-core .net-core dependency-injection asp.net-core-webapi