我的模型有一個TimeStamp列,當創建記錄時會自動生成該列。我在Razor Syntax中使用默認的CRUD腳手架。在這一點上,我剛剛開始使用該項目,因此它是使用實體框架從Visual Studio生成的基本控制器和視圖。MVC/EF DB First和SQL約束默認時間戳字段
列設置爲這個數據庫:
TimeStamp DATETIME NOT NULL CONSTRAINT [DF_Chains_TS] DEFAULT (GETDATE())
這是生成的模型:
public partial class Chain
{
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
public int ChainId { get; set; }
public string Name { get; set; }
public System.DateTime TimeStamp { get; set; }
}
這是控制器:
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create([Bind(Include = "ChainId,Name")] Chain chain)
{
if (ModelState.IsValid)
{
db.Chains.Add(chain);
db.SaveChanges();
return RedirectToAction("Index");
}
return View(chain);
}
我想這在視圖中:
<div class="form-group">
@*Html.LabelFor(model => model.TimeStamp, htmlAttributes: new { @class = "control-label col-md-2" })*@
<div class="col-md-10">
@Html.HiddenFor(model => model.TimeStamp, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.TimeStamp, "", new { @class = "text-danger" })
</div>
</div>
當試圖在創建視圖中創建新記錄時,我要麼獲取該字段是必需的,要麼將它寫入時間戳記字段爲空。我想我的問題是我不知道如何處理控制器或視圖中的自動生成的字段。任何人都可以幫助如何寫這樣的領域的記錄,或者如果我需要添加任何特定的數據註釋?
告訴我們你現在在做什麼?請閱讀[** How-to-Ask **](http://stackoverflow.com/help/how-to-ask) \t \t這裏是[** START **](http ://spaghettidba.com/2015/04/24/how-to-post-at-sql-question-on-a-public-forum/),瞭解如何提高您的問題質量並獲得更好的答案。 –
更新了我的帖子。 – justiceorjustus
檢查你的變量'chain'在TimeStamp上有什麼值? –