【发布时间】:2020-04-21 12:27:51
【问题描述】:
我正在尝试使用 ASP.NET Core 3.0 和 Entity Framework 6 对 Razor 页面上具有复合键的实体进行删除操作。有问题的实体是 CourseAssignment,其复合键由InstructorID 值和 CourseID 值。
对于具有普通单字段键的实体(例如,具有 CourseID 主键的 Course 实体),剃刀页面上的代码如下:
<form method="post">
<input type="hidden" asp-for="Course.CourseID" />
<input type="submit" value="Delete" class="btn btn-danger" /> |
<a asp-page="./Index">Back to List</a>
</form>
生成这样的 URL: https://localhost:44388/Courses/Delete?id=1045
作用于此的 C# 代码是:
public async Task<IActionResult> OnPostAsync(int? id) {
if (id == null) {
return NotFound();
}
Course = await _context.Courses.FindAsync(id);
if (Course != null) {
_context.Courses.Remove(Course);
await _context.SaveChangesAsync();
}
return RedirectToPage("./Index");
}
如何更改 razor 页面和 C# OnPostAsync 操作以处理具有需要两个值的复合键的实体?
谢谢!
【问题讨论】:
标签: c# asp.net-core entity-framework-6 razor-pages asp.net-core-3.0