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上下文对象注入控制器。阅读更多