在Entity Framework Core中,我有一个上下文,其中项目有一些任务,而每个任务都有一些活动。 考虑到最近的活动,我想为每个活动添加项目标题,可以通过activity.task.projetct.title访问。
如果我将活动加载为
_context.Activities.FindAsync(id);
活动。任务为空。
我如何让EF(延迟)加载任务以及任务的项目来获取标题?
如果我急于加载
var activity = await _context.Activities
.Include(a => a.Task).ThenInclude(f => f.Project)
.FirstOrDefaultAsync(a => a.Id == id);
我收到此异常:
JsonException:检测到可能的对象周期,但不是 支持的。这可能是由于循环造成的,或者如果物体深度是 大于最大允许深度32。
问题是我不想深层加载任务和项目,而只是为了获得一级属性而浅层加载。