マイモデルには、レコード作成時に自動的に生成されるタイムスタンプ列があります。私はRazor構文でデフォルトのCRUD足場を使用しています。現時点では、私はちょうどプロジェクトを開始しているので、エンティティフレームワークを使用してVisual Studioから基本的に生成されたコントローラとビューが生成されます。MVC/EF DBファーストと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>
作成ビューで新しいレコードを作成しようとすると、フィールドが必須か、TimeStampフィールドにnullが書き込まれています。私は私の問題は、私はコントローラやビューで自動生成フィールドを処理する方法がわからないと思う。そのようなフィールドを持つレコードを作成する方法や、特定のデータ注釈を追加する必要がある場合は誰でも手伝ってください。
今何をしていますか? [** 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にあるのですか? –