通过linq循环使用odata结果

时间:2014-04-25 10:41:25

标签: c# linq

我有一个odata服务,我通过linq查询从中提取一些数据。

var results = Teams.Expand("MemberUsers").Where(t => t.Company == "MyCompany");
foreach(var result in results)
{
  ... do some stuff;
}

我遇到的问题是变量结果实际上是Team类型而不是类型UserMemberUsersUserTeams的集合。因此,变量results只有一个项目,但只有多个用户。

访问Team中的用户的正确语法是什么?

2 个答案:

答案 0 :(得分:0)

然后你需要选择用户:

var results = Teams.Expand("MemberUsers").Where(t => t.Company == "MyCompany").select(x=>x.Users).ToList();

答案 1 :(得分:0)

var results = Teams.Where(t => t.Company == "MyCompany").SelectMany(t => t.MemberUsers);

OR

var results = from t in Teams
              where t.Company == "MyCompany"
              from m in t.MemberUsers
              select m;