0
我有一個分貝第一個模型定義爲一個實體:實體框架ID值分配:
public class Merlin_BR_Condiciones_Item
{
public int IntIdGrupoCondiciones { get; set; }
public string StrCondicion { get; set; }
[Key]
public int IntIdCondicion { get; set; }
public virtual Merlin_BR_Condiciones_Item_Grupos Merlin_BR_Condiciones_Item_Grupos { get; set; }
}
和自動生成的控制器,該控制器具有此創建操作:
public ActionResult Create(int pIntIdGrupoCondiciones = 0)
{
ViewBag.IntIdGrupoCondiciones = new SelectList(db.Merlin_BR_Condiciones_Item_Grupos, "IntIdGrupoCondiciones", "StrDescripcionGrupo");
return View();
}
[HttpPost]
public ActionResult Create(Merlin_BR_Condiciones_Item merlin_br_condiciones_item)
{
if (ModelState.IsValid)
{
//================================================================================
// This section add the current key to IntIdCondicion
//================================================================================
var max = from c in db.Merlin_BR_Condiciones_Item
select c;
merlin_br_condiciones_item.IntIdCondicion = max.AsQueryable().Max(x => x.IntIdCondicion) + 1;
//================================================================================
db.Merlin_BR_Condiciones_Item.Add(merlin_br_condiciones_item);
db.SaveChanges();
return RedirectToAction("Index");
}
ViewBag.IntIdGrupoCondiciones = new SelectList(db.Merlin_BR_Condiciones_Item_Grupos, "IntIdGrupoCondiciones", "StrDescripcionGrupo", merlin_br_condiciones_item.IntIdGrupoCondiciones);
return View(merlin_br_condiciones_item);
}
這個實體有一個Id列在HttPost中手動分配(創建操作)。 問題是,一個錯誤使我無法在IntIdCondicion列中插入NULL值。
按照步驟代碼值allways返回一個有效的關鍵。
Tks爲您提供幫助。
您是否在視圖上顯示了ID?像使用Razor的'@ Html.HiddenFor(m => m.IntIdCondicion)'。編輯:我應該指出這個問題背後的原因是,後期操作可用的內容僅僅來自前端,而不是早期get方法返回的內容。 – 2012-03-26 21:17:53
不,我沒有它..視圖自動生成 – 2012-03-26 21:19:07