2016-08-10 12 views
1

私は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); 

答えて

1

Page2を含めるようにしてください。

変更context.RelatedPages.Single(r => r.ID==1).Page2.UrlNameからcontext.RelatedPages.Include(x=>x.Page2).Single(r => r.ID==1).Page2.UrlName

関連する問題