Я пытаюсь создать CRUD, который может редактировать модель и все ее дочерние элементы, но каждый раз, когда родительская модель оказывается пустой, как правильно сделать CRUD в скаффолде с ASP.Core 2.2 ?
//Models
class Book {
int IdBook {get; set;}
string Name {getl set;}
ICollection<Page> PageList {get; set;}
}
class Page {
int IdPage {get; set;}
string Name {get; set;}
ICollection<Line> LineList {get; set;}
}
class Line{
int IdLine {get;set;}
string Content {get; set;}
}
Вот мой контроллер
//Controller
public async Task<IActionResult> Edit(int? id)
{
var book = _context.Book
.Include(b => b.PageList)
.ThenInclude(p => p.LineList)
.First();
return View(book);
}
Вот что я пытаюсь сделать
@model Book
@Model.Name
@for(var indexPage = 0; indexPage < Model.PageList.Count; indexPage++)
{
@Model.PageList[indexPage].Name
@for(var indexLine = 0; indexLine < Model.PageList[indexPage].LineList.Count)
{
Html.EditorFor(x => x.PageList[indexPage].LineList[indexLine].Content)
}
}
Но когда я публикую свою форму, я получаю только свойстваBook
, а Book.PageList
- это null
, как правильно это сделать?Есть ли учебник, который я бы пропустил?
ОБНОВЛЕНИЕ
Проблема, кажется, типа, контроллер получает параметр post (Мой код немного отличается, но то же самое, книгибыли примеры)