2
我学习asp.net的MVC与代码第一次....导航属性可以有[必须]属性吗?
我有一个叫这份绿皮书类:
这里的代码
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
的财产和称为AutorId
的FK。但我在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);
}
如果我对Autor
属性[Required]
,该modelState.IsValid
变成假的,因为livro.Autor
是空。所以我必须把它拿出来。
但是我从Julia Lerman那里读到一本叫做“编程EF代码优先”的书, 有时候还有导航属性[Required]
属性。
我在这里失踪了什么?