我的项目是客房预订服务。我有 View :
@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" />
我有这个 View 的 Controller :
[HttpPost]
public ActionResult SaveUserDB(Client client)
{
if (ModelState.IsValid)
{
using (db)
{
db.Client.Add(client);
db.SaveChanges();
return RedirectToAction("Thankyou");
}
}
return View(client);
}
此 Controller 将数据客户端保存到数据库表客户端。但我还需要在第二个表 Reservation 中创建记录,它采用参数:Datetime.Now
和 Client.Id
。数据库中的参数Client Id是自增的,但在View中不显示。
最佳答案
好吧,如果这是向 Client
表添加记录的方式:
db.Client.Add(client);
那为什么不使用完全相同的方法将记录添加到 Reservation
表中呢?像这样:
var reservation = new Reservation
{
ClientID = client.ID,
SomeOtherColumn = DateTime.Now
};
db.Reservation.Add(reservation);
(注意:这是基于根据您的描述推测您的 Reservation
对象/表可能的样子。但概念是相同的。创建一个实例预订对象并将其添加到数据上下文。)
关于mysql - 将数据保存在 2 个表 mvc,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30019023/