mysql - 将数据保存在 2 个表 mvc

标签 mysql asp.net-mvc

我的项目是客房预订服务。我有 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.NowClient.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/

相关文章:

asp.net-mvc - asp.net mvc 网站中的单个silverlight 控件?

asp.net - 使用 LogonUser 后出现 UnauthorizedAccessException

php - 尝试使用表单和 php 进行 INSERT INTO 查询,但数据库未更新记录

c# - 如何将项目插入带有星标的数据库?

php - 时隙重叠

asp.net-mvc - 如何将复杂的 ViewModel 传递给 ASP.NET MVC 中的服务层?

mysql - 如何在 MySQL 中反序列化多边形数据以获取纬度/经度?

mysql - 使用 CASE 的条件 MySQL 查询

c# - 有没有比在 mvc razor View 中使用 if 语句显示带有角色的 html 代码更好的方法

c# - 了解 MVC 中的 [HttpPost]、[HttpGet] 和 Complex Actionmethod 参数