Не обновляются данные в БД через 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". Хотя данные для нее были переданы в модель. Можете подсказать в чем может быть проблема? Может в модели допустил ошибку?


Ответы (0 шт):