在我的MVC应用程序中,我允许用户使用Entity Framework数据库第一个设计通过“创建”控制器/视图将对象添加到数据库表。测试时,我目前没有此表中的数据,因此第一个对象的ID应为1。
但在视图中,ID字段为空。同样,它应该是1,因为这是第一个对象,它从数据模型中获取。下次他们添加另一个对象时,ID应为2 ......等。
我已将IsIdentity设为是。我已将Identity种子设置为1.
以编程方式,当这是要添加到表中的第一个项目时,ID字段显示1时我缺少什么。
查看
<div class="form-group">
@Html.LabelFor(model => model.ProductId, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.ProductId, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.ProductId, "", new { @class = "text-danger" })
</div>
</div>
控制器
// GET: Products/Create
public ActionResult Create()
{
return View();
}
// POST: Products/Create
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create([Bind(Include = "ProductId,...Other columns")] Product product)
{
if (ModelState.IsValid)
{
db.Products.Add(product);
db.SaveChanges();
return RedirectToAction("Index");
}
return View(product);
}
模型
public int ProductId { get; set; }
SQL
[dbo].[Product]
(
[ProductId] [INT] IDENTITY(1,1) NOT NULL
)