И так, у меня есть две сущности:
Ticket:
public class Ticket
{
public long Id { get; set; }
public long CustomerId { get; set; }
public User Customer { get; set; }
public ICollection<User> Partners { get; set; }
public ICollection<User> Maintainers { get; set; }
}
и User:
public class User
{
public long Id { get; set; }
public ICollection<Ticket> AsCustomerTickets { get; set; }
public ICollection<Ticket> AsPartnerTickets { get; set; }
public ICollection<Ticket> AsMaintainerTickets { get; set; }
}
Нужные мне связи:
1. User Customer -> one-to-many -> ICollection<Ticket> AsCustomerTickets
2. ICollection<User> Partners -> many-to-many -> ICollection<Ticket> AsPartnerTickets
3. ICollection<User> Maintainers -> many-to-many -> ICollection<Ticket> AsMaintainerTickets
Первый (one-to-many) реализовал с помощью modelBuilder:
modelBuilder.Entity<Ticket>()
.HasOne(t => t.Customer)
.WithMany(u => u.AsCustomerTickets);
Остальные никак у меня не получаются. Entity Framework не поддерживает пока что many-to-many, была предложена альтернатива в документации EF, через создание некого TicketUser (в моем случае) - но как я понял, она подходит для одной связки many-to-many. Подскажите, что я могу сделать в моей ситуации...