我正在尝试加载每个工作人员假期记录,但我无法填充假日记录。
以下是我的控制器的代码:
<div>
<h4>Staff</h4>
<hr />
@foreach (var s in Model)
{
<dl class="dl-horizontal">
<dt>
First Name:
</dt>
<dd>
@s.Firstname
</dd>
<dt>
Surname:
</dt>
<dd>
@s.Surname
</dd>
<dt>
Username:
</dt>
<dd>
@s.Username
</dd>
@foreach (var hr in s.Hrstaffholidayrecords)
{
<dt>
date:
</dt>
<dd>
@hr.Startdate
</dd>
}
</dl>
}
</div>
这是我视图中的代码:
onsubmit="return validateForm()"
当我目前运行的东西(在.NET Core 1.1上)时,假日记录从数据库中返回0条记录。我不确定我是否遗漏了某些东西,或者我做错了。
谢谢, 伊恩
答案 0 :(得分:1)
看起来像延迟加载,但不确定,不是那么强大)你应该读一下关于流畅的API
答案 1 :(得分:1)
将控制器代码更改为可以正常工作。
public class HomeController : Controller
{
private HRModel.db_HRSystemModel db = new HRModel.db_HRSystemModel();
public IActionResult Index()
{
var staff = db.Hrstaffpersonaldetails
.Include(s => s.Hrstaffholidayrecords)
.Where(s => s.Firstname == "Ian")
.ToList();
return View(staff);
}
}
这称为急切加载。阅读更多https://docs.microsoft.com/en-us/ef/core/querying/related-data
此外,应该使用DI将db上下文对象注入控制器。阅读更多https://docs.microsoft.com/en-us/aspnet/core/mvc/controllers/dependency-injection