Я новичок в платформе Entity Framework, поэтому не знаю, выполняю ли я это правильно, или это ошибка в новом ядре Entity Framework Core. Мне нужно сделать класс для связанных страниц, например, 1 страница связана с другой. У меня есть класс Page
Внешний ключ NullReferenceExcepetion в Entity Framework Core
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; }
}
Я хочу, чтобы получить экземпляр Page
из RelatedPages
и, наоборот, как context.RelatedPages.Single(r => r.ID==1).Page2.UrlName
хотя я NullReferenceException. Это в моем OnModelCreating
в DbContext
:
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);