如何避免循环依赖

时间:2017-11-22 05:08:53

标签: asp.net entity-framework

我有一个业余爱好项目,我在ASP Core 2.0中工作,我遇到了一些循环依赖,我无法弄清楚如何解决。

我的解决方案(让我们称之为Hobby)中有两个ASP核心项目:

  • IdentityProvider,其中包含具有ASP核心标识和EF核心的Identity Server 4
  • HobbyAPI由IdentityProvider保护的前端角度应用程序消耗

现在HobbyAPI包含一个名为BaseStats的实体,我需要在位于IdentityProvider项目中的一个视图模型类中引用该实体。

不幸的是,它不允许我在HoobyAPI.Entities.BaseStats项目中使用IdentityProvider实体,因为它声称它是循环依赖。

我可以实现什么解决方案来避免循环依赖?

1 个答案:

答案 0 :(得分:1)

您可以创建第三个项目并从现有项目中引用它。

一些糟糕的ascii结构图:

    ModelProject
    + contains BaseStats
     ^                  ^
     |                  |
     |                  |
IdentityProvider  <--  HobbyAPI
+ used BaseStats       + uses BaseStats
                       + uses IdentityProvider (or was it the other way around?)