C# 使用表达式在EF4中快速加载多对多?
我有两个实体:C# 使用表达式在EF4中快速加载多对多?,c#,entity-framework,entity-framework-4,entity-framework-4.1,eager-loading,C#,Entity Framework,Entity Framework 4,Entity Framework 4.1,Eager Loading,我有两个实体:grmdeploymentttempt和GrmDeploymentStep。这些实体通过中间POCOGrmDeploymentAttemptStep具有多对多关系,该中间POCO具有关于实际多对多关系的附加信息 我正在尝试通过急切加载加载包含所有步骤信息的尝试,因此现在我有以下代码: var attempt = _context.GrmDeploymentAttempts .Where(x => x.
grmdeploymentttempt
和GrmDeploymentStep
。这些实体通过中间POCOGrmDeploymentAttemptStep
具有多对多关系,该中间POCO具有关于实际多对多关系的附加信息
我正在尝试通过急切加载加载包含所有步骤信息的尝试,因此现在我有以下代码:
var attempt = _context.GrmDeploymentAttempts
.Where(x => x.Id == attemptId)
.Include(x => x.AttemptSteps)
.FirstOrDefault();
问题是这种急切地加载中间表的方式,而不是急切地加载步骤表。如何将Include()
与表达式一起使用以加载我的步骤
实体?使用Include(string)
方法,我可以执行Include(“AttemptSteps.Steps”)
,但我不确定如何使用表达式执行此操作
请注意,我知道我可以改为加载AttemptSteps
实体并在那里快速加载,但有些情况下我无法做到这一点,我一直在想如何处理这一点
var attempt = _context.GrmDeploymentAttempts
.Where(x => x.Id == attemptId)
.Include(x => x.AttemptSteps.Select(a => a.Step))
.FirstOrDefault();
Include(…Select(…)
通常加载子集合的导航属性