我是ASP.NET MVC4的新成員,並堅持使用非常基本的東西。ASP.NET MVC3該列不能包含空值
我有這個模型
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" />
}
而且這樣
[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。 BookID是主鍵。所以非常基本。
問題是,當我轉到發佈視圖,在輸入字段中輸入一個的BookID和BOOKNAME,然後按提交,我總是得到
*列不能包含空值。 [列名= BookID,表名= Books] *例外。唯一的辦法就是當我使BookID也是表中的Identity字段時,我當前不想要的。
我在這個簡單的結構中錯過了什麼?
你應該標記與正在使用藏漢實體框架版本的問題,如果沒有EF,指出什麼是_db是 –
它的實體框架與版本4.3.6 – Dandy
試試這個作爲一個屬性的BookID [Required,Key,DatabaseGenerated(DatabaseGeneratedOption.None)] –