嗨,我已经读了很多书,但无法真正弄清楚这应该如何解决。在学习完本教程之后,我还不太清楚如何在正确完成外键映射的情况下立即将数据输入2个模型。
假设我必须有2个模型(按照本教程进行操作),例如学生和注册,并且我想同时在两个表中输入数据,查看其他堆栈溢出帖子,我发现有2种方法可以将2个视图合并到其中通过创建“大视图”或使用本例中完成的局部视图来创建模型。因此,通过将2个对象返回到控制器并将其保存到数据库中(如下所示),它可以工作,除了“注册”没有通过StudentID(外键)与Student的任何链接。有没有办法将其设置或绑定在一起?
目前,我可以将两个单独的数据集都保存到数据库中。我只是似乎不知道如何设置外键。
我现在在2个DB中拥有的是
Student | Enrollment
ID LastName ID <Some Column> StudentID
1 XXX 1 XXX NULL (Need this to be 1)
如何获取StudentID为1?
public async Task<IActionResult> Create([Bind("ID,LastName")] Student student, [Bind("<Some data inside enrollment>")] Enrollment enrollment)
{
if (ModelState.IsValid)
{
_context.Add(student);
await _context.SaveChangesAsync();
_context.Add(enrollment);
await _context.SaveChangesAsync();
return View(student);
}
非常感谢你!非常感谢您的帮助!:)
这会有所帮助,
var resultStudent = _context.Add(student);
enrollment.student_id = resultStudent.id;
_context.Add(enrollment);
await _context.SaveChangesAsync();
要么
enrollment.Student = student;
_context.Enrollments.Add(enrollment);
await _context.SaveChangesAsync();
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句