Many-> Many関係のコンテキストでInclude(..)、ThenInclude(...)を定義する方法がわかりません。EFコアに多数のナビゲーションプロパティを設定する
だからこれは、NAVプロパティを移入され、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"の値はちょうど良いですが、EducatorへのITのナビゲーションプロパティはnullです。
は、これはnullになり、これは私が何を意味するかのmodel.SiteEducators.FirstOrDefault().EducatorId
例値を返します
model.SiteEducators.FirstOrDefault().Educator
:
配列に「ThenInclude」の何らかの並べ替えが必要ですか?
私はこの他のオブジェクトをどのように肉付けしますか、どのようなsynatax、任意のアイデアですか?
1)あなたのApplicationDbContextにあなたのリンクテーブルオブジェクトの地図:それはgitの問題のシリーズだように見えるので、
すべてのヘルプは素晴らしい、THXみんな:)
あなたもモデルコードを置くことができますか? – Sampath
確かに、私は私の電話の上にいるだろうし、本当にすることはできません...しかし、そのまっすぐにドキュメント。 https://docs.efproject.net/en/latest/modeling/relationships.html#many-to-many –
文書にはデータを入力する方法が記載されていません。/ –