我正在从事一个遵循清洁架构模式的项目,我正在使用 ASP.NET Core Identity 来处理身份验证和授权。我有一个继承自 IdentityUser 的 User 实体,我需要与域中的其他实体建立多对多关系。
问题是我无法将对 Microsoft.AspNetCore.Identity.EntityFrameworkCore 的依赖添加到域层,因为它会违反依赖规则。因此,我决定将 User 类移动到基础结构层,在那里我可以引用 Microsoft.AspNetCore.Identity.EntityFrameworkCore。但是,这产生了一个新问题,因为我无法使用导航属性来配置与域层中其他实体的关系。
处理这种情况的最佳方法是什么?我是否应该将 User 类移回域层,即使这意味着违反依赖规则?或者有没有办法在没有导航属性的情况下配置多对多关系,同时将 User 类保留在基础设施层中?
我将不胜感激有关此主题的任何指导。谢谢!
我想自由使用导航属性。但我不想违反基本规则。