我正在使用似乎无法在当前版本中进行延迟加载的EFCore。
我的模型定义如下:
Details.cshtml
在Enrollments
我想按照以下方式迭代学生的@model ContosoUniversity.Models.Student
<h2>Details</h2>
<dl>
<dt>
@Html.DisplayNameFor(model => model.FirstMidName)
</dt>
<dd>
@Html.DisplayFor(model => model.FirstMidName)
</dd>
<dt>
@Html.DisplayNameFor(model => model.Enrollments)
</dt>
<dd>
<table>
<thead>
<tr>
<th>Course Title</th>
<th>Grade</th>
</tr>
</thead>
<tbody>
@foreach (var item in Model.Enrollments)
{
<tr>
<td>@Html.DisplayFor(model => item.Course.Title)</td>
<td>@Html.DisplayFor(model => item.Grade)</td>
</tr>
}
</tbody>
</table>
</dd>
</dl>
。
protected $baseUrl = 'http://myapp.app';
但是,我收到了以下错误。
如何解决此问题?
答案 0 :(得分:1)
您要做的是延迟加载。 EF Core 尚不支持。 Source
您需要做的是,在查询数据库时,使用Include()来执行急切加载。
这样的事情:
var student = context.Students
.Include(s => s.Enrollments)
.ThenInclude(e => e.Course)
.FirstOrDefault(s => s.ID == id);