我有一个带有客户模型和站点模型的无sql设计。每个客户都可以参考其所有站点,每个站点都有一个对其客户的引用。所以我有一个1:n的关系:
例如:
customer
{
_id: 3
sites: [1, 2, 3]
}
site
{
customerId: 3
}
在我的.NET Core API中,我有两个服务类。一个用于客户,另一个用于站点。 如果我在客户服务中添加新客户,我需要站点服务,以检查客户中所有引用的站点是否确实存在。 (如果ID为#" 2"的网站不存在,则上层设计无效
反之亦然,我的网站服务需要验证引用的客户是否存在。 因此,客户服务需要现场服务,反之亦然。 因为我的服务类通过依赖注入来获取其他服务实例,所以这会在我的程序中产生无限循环。
我在这里找不到任何设计缺陷,但必须连线。有什么建议? :)