Entity framework 通过另一个表从一个表加载数据

Entity framework 通过另一个表从一个表加载数据,entity-framework,asp.net-core,asp.net-core-mvc,Entity Framework,Asp.net Core,Asp.net Core Mvc,我正在尝试加载每个员工的假日记录,但无法填充假日记录 以下是我的控制器的代码: public class HomeController : Controller { private HRModel.db_HRSystemModel db = new HRModel.db_HRSystemModel(); public IActionResult Index() { var staff = (from s in db.Hrstaffpersonaldet

我正在尝试加载每个员工的假日记录,但无法填充假日记录

以下是我的控制器的代码:

public class HomeController : Controller
{
    private HRModel.db_HRSystemModel db = new HRModel.db_HRSystemModel();

    public IActionResult Index()
    {

        var staff = (from s in db.Hrstaffpersonaldetails
                     where s.Firstname == "Ian"
                     select s).ToList();
        return View(staff);
    }
}
以下是我认为的代码:

<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>

工作人员

@foreach(模型中的var s) { 名字: @s、 名字 姓: @s、 姓 用户名: @s、 用户名 @foreach(s.Hrstaffholidayrecords中的var hr) { 日期: @起始日期 } }
当我当前运行我所拥有的(在.NET Core 1.1上)时,holiday records从数据库返回0条记录。我不确定我是错过了什么,还是做错了

谢谢,
Ian看起来像是延迟加载,但不确定,在这方面不是很强)您应该阅读smth关于fluent API的内容

将控制器代码更改为这样应该可以工作

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);
    }
}
这就是所谓的急加载。阅读更多

此外,应该使用DI将db上下文对象注入控制器。阅读更多