Я чувствую, что это то, о чем я думал раньше, но, кажется, не могу пройти через несколько дней. То, что я хочу, это просто, у данного пользователя может быть несколько отношений с другими пользователями, вложенными в него самого.
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; }
}
Но смешиваться с атрибутами ForeignKey для производного класса, который имеет те же свойства / идентификаторы. Я сделал много поисков, но большинство сообщений связано с ApplicationUser, который имеет отношение один к одному или ноль с другим классом, таким как AddressInfo. Мне нужно, чтобы это был один и тот же вложенный класс с Code First, при котором предпочтение должно отдаваться атрибутам свободно, когда это возможно.
Различные попытки этого дают различные ошибки, слишком много разных сценариев для перечисления различных ошибок.
Спасибо за любые рекомендации!