У меня есть два класса, которые имеют отношение ко многим. Сообщения и получатели:
[Table("Messages")]
public class Message {
//...
public virtual List<Contact> Recipients {get; set;}
}
[Table("Contacts")]
public class Contact {
//...
public virtual ICollection<Message> Messages {get; set;}
}
Я устанавливаю их отношение с помощью FluentAPI следующим образом:
modelBuilder.Entity<Contact>().HasMany(e => e.Messages).WithMany(e => e.Recipients)
.Map(map => { map.ToTable("MessagesRecipients"); });
Когда я создаю объект сообщения с получателями и сохраняю их в дб с dbContext.SaveChanges();
работает отлично. Соответствующий идентификатор сообщения и идентификатор получателя сохраняются в таблице MessagesRecipients
. Проблема возникает, когда я пытаюсь изменить коллекцию получателей в сообщении (добавить нового или удалить существующего получателя). В таблице MessagesRecipients
ничего не происходит. Я хотел бы обновить также и соединения, а не только само сообщение.
Я получаю сообщение из базы данных с быстрой загрузкой.
Чего мне не хватает для достижения ожидаемого поведения?