Code Firstでasp.net mvcを勉強しています....
Livroというクラスがあります:
ここにコードがあります
public class Livro
{
[Key]
public int LivroId { get; set; }
[Required(ErrorMessage = "E necessario titulo")]
[MaxLength(100, ErrorMessage = "Titulo deve ter no maximo 100 caracteres")]
public string Titulo { get; set; }
public int AutorID { get; set; }
public virtual Autor Autor { get; set; }
}
ご覧のとおり、 と呼ばれるナビゲーション プロパティとAutor
と呼ばれる FK がありAutorId
ます。しかし、私はLivro
コントローラーにこのコードを持っています(私はこのコードを書いていません.VSは私のクラスに基づいて作成されていません)。
[HttpPost]
public ActionResult Create(Livro livro)
{
if (ModelState.IsValid)
{
db.Livros.Add(livro);
db.SaveChanges();
return RedirectToAction("Index");
}
ViewBag.AutorID = new SelectList(db.Autores, "AutorId", "Nome", livro.AutorID);
return View(livro);
}
私が属性を持っ[Required]
ている場合、 is nullであるため false になります。だから私はそれを取り出さなければなりません。Autor
modelState.IsValid
livro.Autor
しかし、私は Julia Lerman の「Programming EF Code-First」という本を読んでいましたが、[Required]
属性を持つナビゲーション プロパティがある場合があります。
ここで何が欠けていますか?