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 になります。だから私はそれを取り出さなければなりません。AutormodelState.IsValidlivro.Autor
しかし、私は Julia Lerman の「Programming EF Code-First」という本を読んでいましたが、[Required]属性を持つナビゲーション プロパティがある場合があります。
ここで何が欠けていますか?