我是 ASP.NET MVC4 的新手,并且坚持一些非常基本的东西。
我有这个模型
public class Book
{
[Key]
public int BookID { get; set; }
public string BookName { get; set; }
}
和发布视图为
@{
ViewBag.Title = "Publish";
}
<h2>Publish</h2>
@using (@Html.BeginForm("Publish", "Home", FormMethod.Post))
{
@Html.TextBoxFor(m => m.BookID);
@Html.TextBoxFor(m => m.BookName);
<input type="submit" />
}
和这样的 Publish 操作方法
[HttpPost]
public ActionResult Publish(Book book)
{
if (ModelState.IsValid)
{
_db.Books.Add(book);
_db.SaveChanges();
return RedirectToAction("Index");
}
return View(book);
}
我正在使用 SQL Server Compact 4.0 数据库。_db 是 DbContext 实例。
我有一个带有BookID和BookName字段的Books表。BookID 是主键。所以非常基础。
问题是当我转到发布视图时,在输入字段中输入BookID和BookName并按提交,我总是得到
*该列不能包含空值。[ 列名 = BookID,表名 = Books ] *例外。唯一可行的方法是,当我将 BookID 设为表中的 Identity 字段时,我当然不想要。
我在这个简单的结构中缺少什么?