Я только начал использовать Entity Framework для своего следующего проекта, и я боюсь следующего. У меня есть следующий класс ApplicationUser
:Множественные отношения к отдельной таблице Entity Framework asp.net MVC
public class ApplicationUser : IdentityUser
{
public string Name { get; set; }
public int CompanyId { get; set; }
public virtual Company Company { get; set; }
}
У меня есть два класса, которые присущи от этого класса:
классаpublic class TrainerUser : ApplicationUser
{
public virtual ICollection<ClientUser> Clients { get; set; }
}
public class ClientUser : ApplicationUser
{
public string TrainerId { get; set; }
public TrainerUser Trainer { get; set; }
}
Компании выглядит следующим образом:
public class Company
{
public int Id { get; set; }
public string Name { get; set; }
public virtual ICollection<TrainerUser> Trainers { get; set; }
public virtual ICollection<ClientUser> Clients { get; set; }
}
То, что я не могу выяснить, как я могу использовать свободный API, чтобы не включать 3 разных столбца companyId в таблицу ApplicationUsers
.
В настоящее время у меня есть следующая свободно конфигурация API:
modelBuilder.Entity<TrainerUser>().HasRequired(c => c.Company).WithMany(t => t.Trainers).HasForeignKey(c => c.CompanyId);
modelBuilder.Entity<ClientUser>().HasRequired(c => c.Company).WithMany(c => c.Clients).HasForeignKey(c => c.CompanyId);
Может кто-нибудь мне точку в правильном направлении?
Вы пытались переместить навигатор в компанию, в настоящее время в приложении пользователя, на другие классы наследования? –
, если «ApplicationUser» не является сущностью в вашем приложении, тогда вы можете сделать абстрактный класс, и я думаю, что он должен исправить эту проблему, я бы попробовал это в первую очередь. – SOfanatic