當我嘗試使用EF保存到我的數據庫時,出現此錯誤。無法將NULL值插入'CompanyId'列不允許空值。 INSERT失敗
不能將值NULL插入'CompanyId'列不允許爲空值。
從消息中可以明顯看出是什麼問題,但是在我的代碼中看不到有任何原因會導致此問題。
這裏是我的模型:
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int CompanyId { get; set; }
public string CompanyName { get; set; }
public string CompanyCountry { get; set; }
public string CompanyCity { get; set; }
public string CompanyPostalCode { get; set; }
public string CompanyPhoneNumber { get; set; }
public string EmailCA { get; set; }
控制器:
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create([Bind(Include = "CompanyId,CompanyName,CompanyAddress,CompanyCountry,CompanyCity,CompanyPostalCode,CompanyPhoneNumber,EmailCA")] Company company)
{
if (ModelState.IsValid)
{
db.Companies.Add(company);
db.SaveChanges();
return RedirectToAction("Index");
}
return View(company);
}
什麼我從這些屬性希望是有一個自動生成的,從他們的關鍵,但顯然這是行不通的。
有人可以幫忙解釋嗎?
顯示你的數據庫'CompanyId'是否吧'不null' –
@Ganesh_Devlekar錯誤信息已經顯示它在數據庫中不是空的,而這正是它應該是的。但是,如果數據庫定義使其不可空,但不會使其成爲標識列,那可能會有問題。所以看到表/列的數據庫定義仍然有用。 – hvd
向我們展示足夠的代碼以便能夠診斷問題。 – Amy