【问题标题】:ASPNETUSER as a child to another tableASPNETUSER 作为另一个表的孩子
【发布时间】:2021-01-15 13:39:12
【问题描述】:

我想知道是否有人可以帮助我解决这个小难题...

我正在使用 .net core 3.1 进行干净的架构项目设置。有项目:

  • API
  • 基础设施
  • 应用

在域中,我不引用任何项目(或包),其他所有内容都从中引用。

我在域中有下表:

Company Table

我稍后将我的身份添加到基础架构中,其中我有一个扩展 IdentityUser 的 ApplicationUser。

所以场景如下:

  • 用户注册后加入公司。一个公司可以有很多用户(这就是 AspNetUser)
  • 因此,当用户登录时,他就隶属于该公司,并且可以在该公司下执行某些操作
  • 当我检索公司时,它会附有一个用户列表。

所以我的问题是,我该怎么做才能拥有一个拥有一组用户的公司,而无需添加从域到基础设施的引用

【问题讨论】:

  • 您使用的是 ASP.NET Core WebAPI -Clean Architecture 生成的默认模板吗? Identity 数据库和 Default 数据库是分开的吗?
  • 不是默认模板,我已将身份单独添加到基础设施项目中。

标签: c# asp.net-core asp.net-identity clean-architecture


【解决方案1】:

解决此问题的常见模式是在域层中定义用户类或接口的抽象。该抽象用于公司类,基础设施项目中的用户实现源自它。

如果继承不是一种选择,您可以在域项目中使用接口,并在基础设施项目中使用适配器来包装实际用户实现,以提供对其属性的访问。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-12
    • 2017-10-19
    • 1970-01-01
    • 1970-01-01
    • 2013-09-15
    • 1970-01-01
    相关资源
    最近更新 更多