首页 > 解决方案 > 在 ASP.NET Core 3.0 中将 IdentityUser 类作为直接客户和经销商客户

问题描述

我正在使用 ASP.NET core 3.0 为服务创建一个 Web 应用程序。该应用程序有两种类型的用户

  1. 像管理员和经销商(服务提供商)这样的用户
  2. 经销商客户

我创建了一个类经销商,其中包含一些特定于经销商的附加信息

public class Reseller : BaseEntity
{
    public string CompanyName { get; set; }
    public virtual ApplicationUser User { get; set; } //login account of reseller
    public virtual IList<ResellerCustomer> Customers { get; set; }
}

这意味着经销商将拥有与此类相关的登录名。

此外,每个经销商可能有很多客户,他们的登录名将由经销商创建,但他们不会有任何其他信息,但是我必须确保我应该能够找到登录用户的经销商以及登录经销商的客户随时。将来,该服务的直接客户可能会与任何经销商无关。

所以我也创建了这个类

public class ResellerCustomer:BaseEntity
{
    public virtual Reseller Provider { get; set; } // Please don't worry about name :)
    public virtual ApplicationUser User { get; set; } //Login account of customer
}

我将 ApplicationUser 类保持在最低限度,以便它为经销商、管理员和经销商客户登录服务

我不确定我是否能够实现我想要实现的目标。我可以继续尝试,但我在这里有一个大型项目,并且在我动手之前有一些信心会节省很多时间。

这够好吗?什么是最好的方法。

标签: ef-code-firstasp.net-core-3.0asp.net-core-identity

解决方案


推荐阅读