【发布时间】: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 => 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