【发布时间】:2017-09-14 10:13:16
【问题描述】:
鉴于我有一个 .NET Core 2.0 应用程序 我还有一个 Web 程序集、一个业务程序集和一个 DataAccess 程序集。
我不希望 Web 程序集直接引用我的 DataAccess 程序集(其中包含我的实体框架内容)。这是为了保护 Web 程序集不走捷径并直接与 DbContext 对话。
所以我有我的 Web 引用 Business 和 Business 引用 DataAccess。
现在由于一些奇怪的原因,在我的 Web 项目的 Controllers 中,我仍然可以直接访问 DbContext,因为这在我的 DataAccess 项目中被标记为公共,显然它是通过某种形式提供给 Web 项目的嵌套引用。
我想类似的主题是这个:https://github.com/aspnet/Mvc/issues/6635 但我在 Stack Overflow 上找不到太多关于这个主题的内容。
有没有什么优雅的方法可以防止顶层项目访问这些嵌套的依赖关系?
【问题讨论】:
标签: visual-studio .net-core architecture n-tier-architecture