Я не уверен, как определить Include (..). ThenInclude (...) в контексте отношения many-> many.Заполнение многих свойств навигации в EF Core
Так что это заселение свойства нав, SiteEducators ссылка
var site = this._dbContext.Sites.Include(x => x.SiteEducators).FirstOrDefault();
Определяется согласно документации
public DbSet<Educator> Educators { get; set; }
public DbSet<Site> Sites { get; set; }
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
#region Site->Educator Link
modelBuilder.Entity<SiteEducator>()
.HasKey(t => new { t.SiteId, t.EducatorId });
modelBuilder.Entity<SiteEducator>()
.HasOne(pt => pt.Site)
.WithMany(p => p.SiteEducators)
.HasForeignKey(pt => pt.SiteId);
modelBuilder.Entity<SiteEducator>()
.HasOne(pt => pt.Educator)
.WithMany(t => t.SiteEducators)
.HasForeignKey(pt => pt.EducatorId);
#endregion
}
проблемы, если я отлаживать «сайт» он имеет навигационное свойство, и я могу см. значение «EducatorId» просто отлично, но свойство навигации IT до преподавателя равно null.
Так что это было бы пустой
model.SiteEducators.FirstOrDefault().Educator
Где это будет возвращать значение
model.SiteEducators.FirstOrDefault().EducatorId
Пример того, что я имею в виду:
Должен быть какой-то «ThenInclude» в массиве?
Как я могу реализовать этот другой объект, что представляет собой синтаксис, любая идея?
Любая помощь будет большой, ТНХ ребята :)
Вы также можете указать код модели? – Sampath
Конечно, я нахожусь на своем телефоне и не могу ... Но его прямо выходят из документов. https://docs.efproject.net/ru/latest/modeling/relationships.html#many-to-many –
Документы просто не говорят, как заполнять данные:/ –