【发布时间】:2020-01-31 07:12:11
【问题描述】:
我觉得这是我以前想过的事情,但现在似乎无法过去几天。 我所追求的很简单,一个给定的用户可能与嵌套在自己内部的其他用户有多个关系。
public class ApplicationUser : IdentityUser
{
public virtual ApplicationUser Approver { get; set; }
public virtual ApplicationUser Provider { get; set; }
}
不会出现关于哪一端是主体和从属等的错误。 给定的用户可能没有批准人,也可能没有批准人。
我觉得制作派生类有些东西:
public class Provider: ApplicationUser
{
public virtual List<ApplicationUser> Clients{ get; set; }
}
这会让 ApplicationUser 变成这样:
public class ApplicationUser : IdentityUser
{
public virtual Approver Approver { get; set; }
public virtual ProviderProvider { get; set; }
}
有
public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
{
public DbSet<Provider> Providers { get; set; }
public DbSet<Approver> Approvers { get; set; }
}
但与共享相同属性/ID 的派生类的 ForeignKey 属性混淆。 我进行了很多搜索,但大多数帖子都与 ApplicationUser 相关,该 ApplicationUser 与另一个类(例如 AddressInfo)具有一对一或零关系。我需要它是与 Code First 相同的嵌套类,尽可能使用流畅的属性。
对此的不同尝试提供了各种不同的错误,不同的场景太多,无法列出各种错误。
感谢您的任何建议!
【问题讨论】:
标签: c# asp.net .net entity-framework ef-code-first