그래서 엔티티 프레임 워크를 처음 사용합니다. 데이터베이스에 목록을 저장하는 데 문제가 있습니다.바인딩을 사용하여 데이터베이스에 목록 개체 저장
데이터베이스의 블로그 데이터를 저장public async Task<IActionResult> Create([Bind("NieuwsArtikelID,titel,datum,imgNaam")] NieuwsArtikel nieuwsArtikel,
[Bind("blog.inleiding", "blog.inleidingTitel")] Blog blog, [Bind("blog.alinea[i].AlineaTitel", "blog.alinea[i].AlineaTekst")] List<Alinea> alineas)
{
if (ModelState.IsValid)
{
nieuwsArtikel.blog = blog;
nieuwsArtikel.blog.alineas = alineas;
_context.Add(nieuwsArtikel);
await _context.SaveChangesAsync();
return RedirectToAction("Index");
}
return View(nieuwsArtikel);
}
가 잘 작동하지만, 알리 니아 데이터를 저장하는 것은 작동하지 않습니다
컨트롤러 방법을 만듭니다. 그것이 목록이기 때문에 아마 작동하지 않습니다. 문제는 다음과 같습니다. 데이터베이스에 목록 개체를 저장하려면 어떻게해야합니까?
NieuwsArtikel 클래스 :
public class NieuwsArtikel
{
public int NieuwsArtikelID { get; set; }
public string titel { get; set; }
public string datum { get; set; }
public Blog blog { get; set; }
public string imgNaam { get; set; }
}
블로그 클래스 :
public class Blog
{
public int BlogID {get; set;}
public string inleidingTitel { get; set; }
public string inleiding { get; set; }
public List<Alinea> alineas { get; set; }
}
알리 니아 클래스 :
<form asp-action="Create">
<div class="form-horizontal">
<h4>NieuwsArtikel</h4>
<hr />
<!--Alinea begin-->
@for (int i = 0; i < 2; i++)
{
<div class="form-group">
<label asp-for="blog.alineas[i].AlineaTitel" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="blog.alineas[i].AlineaTitel" class="form-control" />
<span asp-validation-for="blog.alineas[i].AlineaTitel" class="text-danger"></span>
</div>
</div>
<div class="form-group">
<label asp-for="blog.alineas[i].AlineaTekst" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="blog.alineas[i].AlineaTekst" class="form-control" />
<span asp-validation-for="blog.alineas[i].AlineaTekst" class="text-danger"></span>
</div>
</div>
}
<!-- Alinea eindig-->
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
<input type="submit" value="Create" class="btn btn-default" />
</div>
</div>
</div>
:
public class Alinea
{
public int AlineaID { get; set; }
public string AlineaTitel { get; set; }
public string AlineaTekst { get; set; }
public string AlineaQuote { get; set; }
public string AlineaFoto { get; set; }
public int BlogForeignKey { get; set; }
public Blog blog { get; set; }
}
보기 만들기
필자는 더 쉽게 읽을 수 있도록 Alinea 양식 그룹 만 넣었습니다. Aliena 객체는 외래 키 참조를 필요로하는 경우
가정 사항 _ "목록이기 때문에 작동하지 않습니다"_가 잘못되었습니다. 사람들은 수년간 Entity Framework를 사용하여 하위 엔터티 목록을 저장했습니다. [ask]를 읽고 코드를 디버그하십시오. 'alineas'에는 무엇이 들어 있습니까? 알레 사 데이터를 저장하면 효과가 없다는 것은 무엇을 의미합니까? _? 어떤 일이 일어날 것으로 예상합니까? 실제로 어떻게됩니까? – CodeCaster
미친'[Bind]'속성을 제거하십시오. 당신은'public async Task Create (NieuwsArtikel model)' –
일 필요가 있고'@for (int i = 0; i <2; i ++)'를 사용하지 말라. -'for (int i = 0; i