私はEntity Frameworkで新しくなっているので、私が正しくやっているのか、これが新しいEntity Frameworkコアのバグなのか分かりません。私は1ページが別のページに関連しているような関連ページのクラスを行う必要があります。私はクラスPage
エンティティフレームワークの外部キーNullReferenceExcepetionコア
public class Page
{
public int ID { get; set; }
public string UrlName { get; set; }
[Required]
public string Title { get; set; }
[Required]
public string Description { get; set; }
public string Content { get; set; }
public List<RelatedPages> RelPages1 { get; set; }
public List<RelatedPages> RelPages2 { get; set; }
}
を持っており、これはRelatedPages
のための私のクラスである:
public class RelatedPages
{
public int ID { get; set; }
public int? Page1ID { get; set; }
public Page Page1 { get; set; }
public int? Page2ID { get; set; }
public Page Page2 { get; set; }
}
私はとNullReferenceExceptionを持っているもののcontext.RelatedPages.Single(r => r.ID==1).Page2.UrlName
のように、RelatedPages
逆からPage
インスタンスを取得したいです。 これはDbContext
の私OnModelCreating
である:
modelBuilder.Entity<RelatedPages>()
.HasOne(x => x.Page1)
.WithMany(x => x.RelPages1)
.HasForeignKey(x => x.Page1ID);
modelBuilder.Entity<RelatedPages>()
.HasOne(x => x.Page2)
.WithMany(x => x.RelPages2)
.HasForeignKey(x => x.Page2ID);