gpt4 book ai didi

c# - Entity Framework Core 中的外键 NullReferenceException

转载 作者:行者123 更新时间:2023-12-02 07:53:00 26 4
gpt4 key购买 nike

我是 Entity Framework 新手,所以我不知道我做得是否正确,或者这是新 Entity Framework 核心中的错误。我需要为相关页面上一个类,比如一个页面与另一个页面相关。我有类 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类(class):

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 => r.ID==1)。 Page2.UrlName 虽然我有 NullReferenceException。这是在我的 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);

最佳答案

尝试包含Page2

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

关于c# - Entity Framework Core 中的外键 NullReferenceException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38862453/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com