我的项目是客房预订服务。我有查看:
@model Client
@using (Html.BeginForm("SaveUserDB", "Booking", FormMethod.Post))
{
<div class="editor-label">
@Html.Label("Surname")
@Html.TextBoxFor(model => model.Surname)
</div>
<div class="editor-label">
@Html.Label("Name")
@Html.TextBoxFor(model => model.Name)
@Html.ValidationMessageFor(model => model.Name)
</div>
<div class="editor-label">
@Html.Label("Patronymic")
@Html.TextBoxFor(model => model.Patronymic)
</div>
<input type="submit" id="submit" value="Reservation" />
我有这个视图的控制器:
[HttpPost]
public ActionResult SaveUserDB(Client client)
{
if (ModelState.IsValid)
{
using (db)
{
db.Client.Add(client);
db.SaveChanges();
return RedirectToAction("Thankyou");
}
}
return View(client);
}
此控制器将数据客户端保存到数据库表Client。但是我还需要在第二个表中创建记录预约,其中包含参数:Datetime.Now
和Client.Id
。数据库中的参数客户端ID是自动增量,但不会在视图中显示。
答案 0 :(得分:0)
好吧,如果这是你在Client
表中添加记录的方式:
db.Client.Add(client);
那为什么不使用同样精确的方法将记录添加到Reservation
表中?像这样:
var reservation = new Reservation
{
ClientID = client.ID,
SomeOtherColumn = DateTime.Now
};
db.Reservation.Add(reservation);
(注意:这是基于根据您的描述推测您的Reservation
对象/表可能的样子。但概念是相同的。创建预订实例对象并将其添加到数据上下文中。)