Не обновляются данные в БД через entity framework core 6
Проблема следующая, реализую связь многие ко многим. Использую Npgsql.EntityFrameworkCore.PostgreSQL версии 6.0.3 Модель 1 Дни недели
[Table(name: "week", Schema = "dbo")]
public class Week
{
[Key]
public int DayId { get; set; }
public string Day { get; set; }
public List<WorkerOnGrv> WorkerOnGrvs { get; set; } = new();
public List<WorkerOnGrvAndWeek> WorkerOnGrvAndWeeks { get; set; } = new();
}
Модель 2
[Table(name: "worker_on_grv", Schema = "dbo")]
public class WorkerOnGrv : BaseEntity
{
public int Id { get; set; }
public List<Week> Weeks { get; set; } = new();
public List<WorkerOnGrvAndWeek> WorkerOnGrvAndWeeks { get; set; } = new();
}
Связывающая их таблица
[Table(name: "worker_on_grv_and_day_week", Schema = "dbo")]
public class WorkerOnGrvAndWeek
{
[Column("worker_on_grv_id")]
public int WorkerOnGrvId { get; set; }
public WorkerOnGrv? WorkerOnGrv { get; set; }
[Column("day_id")]
public int DayId { get; set; }
public Week? Week { get; set; }
}
В контексте связал их между собой следующим образом
modelBuilder
.Entity<WorkerOnGrv>()
.HasMany(w => w.Weeks)
.WithMany(g => g.WorkerOnGrvs)
.UsingEntity<WorkerOnGrvAndWeek>(
j => j
.HasOne(pt => pt.Week)
.WithMany(t => t.WorkerOnGrvAndWeeks)
.HasForeignKey(pt => pt.DayId),
j => j
.HasOne(pt => pt.WorkerOnGrv)
.WithMany(w => w.WorkerOnGrvAndWeeks)
.HasForeignKey(pt => pt.WorkerOnGrvId),
j =>
{
j.HasKey(t => new { t.WorkerOnGrvId, t.DayId});
j.ToTable("worker_on_grv_and_day_week");
});
В контроллер заполняю модель данными
Делаю сохранение в базу данных
_mainContext.Entry(workerOnGrv).State = EntityState.Modified;
await _mainContext.SaveChangesAsync();
Модель WorkerOnGrv обновляется, а WorkerOnGrvAndWeek игнорируется. EF отправляет следующий запрос
UPDATE dbo.worker_on_grv SET "CreatedBy" = @p0, "CreatedDate" = @p1, end_date_grv = @p2, variant_grv_id = @p3, "IsActive" = @p4, "ModifiedBy" = @p5, "ModifiedDate" = @p6, reason = @p7, tab_number = @p8, start_date_grv = @p9, status_id = @p10
WHERE "Id" = @p11;
Он даже не пытается обновить таблицу "worker_on_grv_and_day_week". Хотя данные для нее были переданы в модель. Можете подсказать в чем может быть проблема? Может в модели допустил ошибку?