Linq 如何从EntityCollection提取数据?

Linq 如何从EntityCollection提取数据?,linq,entity-framework,Linq,Entity Framework,我有以下LINQ声明: var test = db.Employees.Include(Constants.EF_SecondaryTeamAllocationToApprovers) .Where(e => e.ApproverEmployeeId == SessionObjects.LoggedInUserId) .Select(e => e.SecondaryTeamAllocationToAppr

我有以下LINQ声明:

var test = db.Employees.Include(Constants.EF_SecondaryTeamAllocationToApprovers)
                    .Where(e => e.ApproverEmployeeId == SessionObjects.LoggedInUserId)
                    .Select(e => e.SecondaryTeamAllocationToApprovers);
这将返回一个
IQueryable
对象

我不熟悉
EntityCollection
集合。我发现我无法从该对象提取属性。例如,以下循环不起作用,我得到一个空值:

foreach (var item in test)
{
    list.AddRange(item.Select(s => s.SecondaryTeamLeaderId));
}
我发现当我在控件内部钻取正确的数据时,我只需要提取它

那么我该如何解决这个问题呢

foreach (var item in test)
{
    list.Add(item.SecondaryTeamLeaderId);
}


你有例外吗?我猜您可能希望通过附加.ToList()来具体化测试变量,以便从sql中提取项。没有异常。我在收藏中得到了一个项目——这是我所期望的,尽管我打算在以后测试很多项目。对于这一项,我无法获取SecondaryTeamLeaderId属性。并且const ef_SecondaryTeamAllocationToApprovers与employees上的导航道具完全相同?顺便问一下,第二团队领导者是谁?int还是ref类型?对于第一个问题,是的。这是一个常数,所以要避免拼写错误。SecondaryTeamLeaderId是一个int。
list.AddRange(test.ToArry());