【问题标题】:Update Child table from Parent table in ASP.NET Core从 ASP.NET Core 中的父表更新子表
【发布时间】:2020-07-08 09:18:25
【问题描述】:

对于我的网站,我将 ASP.NET Core 与 EF Core 和 SQL Server 一起使用。我有两张桌子,WorkSchedule(父)和WorkScheduleBid(子)。

我正在努力做到这一点,以便当兼职人员从WorkSchedule 表中选择一个时间表时,选定的WorkScheduleID 将被传递到WorkScheduleBid 表以供经理批准。

我应该如何对控制器中的选择按钮进行编码,以便在按下按钮时,它将捕获当前的WorkScheduleID,并使用捕获的WorkScheduleID 创建一个新的WorkShiftBidID

型号:

namespace Website.Models
{
    public class WorkScheduleModel
    {
        [Key]
        public Guid WorkScheduleID { get; set; }

        public DateTime WorkScheduleDateTime { get; set; }
    }

    public class WorkShiftBidModel
    {
        [Key]
        public Guid WorkShiftBidID { get; set; }

        public DateTime WSBidDateTime { get; set; }

        public Guid WorkScheduleID { get; set; }
        [ForeignKey("WorkScheduleID")]
        public WorkScheduleModel WorkSchedules { get; set; }
    }
}

控制器(显示数据):

public async Task<IActionResult> WorkSchedule()
{
        var applicationUserClass = _context.WorkSchedule;
        return View(await applicationUserClass.ToListAsync());
}

public async Task<IActionResult> WorkShiftBid()
{
        var applicationUserClass = _context.WorkShiftBid.Include(w => w.WorkSchedules);
        return View(await applicationUserClass.ToListAsync());
}

【问题讨论】:

  • 将数据写回_context,然后使用SaveChanges()将数据放回数据库。
  • 嗨,那会是什么样子?
  • _content 是 c# 中的类,它们使用映射文件 (EDMX) 链接回数据库中的表。请参阅以下内容:docs.microsoft.com/en-us/dotnet/api/…

标签: c# sql-server api asp.net-core entity-framework-core


【解决方案1】:

如果您创建一个以 WorkScheduleId 作为参数的新控制器操作,您可以创建一个新的 WorkShiftBidModel 实例并保存它:

WorkShiftBidModel newBid = new WorkShiftBidModel 
{
    WorkScheduleID = workScheduleID, // the parameter of the controller action
    WSBidDateTime = DateTime.UtcNow // Or whatever date you need setting
};
_context.WorkShiftBid.Add(newBid);
await _context.SaveChangesAsync();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-06-28
    • 2020-10-31
    • 1970-01-01
    • 2021-05-03
    • 2022-01-27
    • 2013-10-03
    • 1970-01-01
    相关资源
    最近更新 更多