【问题标题】:Foreign key NullReferenceExcepetion in Entity Framework CoreEntity Framework Core 中的外键 NullReferenceExcepetion
【发布时间】:2016-12-16 04:35:18
【问题描述】:

我是 Entity Framework 的新手,所以我不知道我做得对还是这是新的 Entity Framework Core 中的一个错误。我需要为相关页面做一门课,比如一页与另一页相关。我有课Page

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; }
}

我想从RelatedPages 获取Page 实例,反之亦然,例如context.RelatedPages.Single(r =&gt; r.ID==1).Page2.UrlName,尽管我有NullReferenceException。 这是我的OnModelCreatingDbContext

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

【问题讨论】:

    标签: c# sqlite foreign-keys asp.net-core entity-framework-core


    【解决方案1】:

    尝试包含Page2

    context.RelatedPages.Single(r =&gt; r.ID==1).Page2.UrlName 更改为context.RelatedPages.Include(x=&gt;x.Page2).Single(r =&gt; r.ID==1).Page2.UrlName

    【讨论】:

      猜你喜欢
      • 2022-09-22
      • 1970-01-01
      • 2018-08-19
      • 1970-01-01
      • 2018-09-28
      • 1970-01-01
      • 2019-10-15
      • 2021-02-04
      • 2023-04-05
      相关资源
      最近更新 更多