C# 使用linq循环odata结果
我有一个odata服务,通过linq查询从中提取一些数据C# 使用linq循环odata结果,c#,linq,C#,Linq,我有一个odata服务,通过linq查询从中提取一些数据 var results = Teams.Expand("MemberUsers").Where(t => t.Company == "MyCompany"); foreach(var result in results) { ... do some stuff; } 我遇到的问题是,变量结果实际上是Team类型,而不是User类型。 成员用户是团队中的用户的集合。所以变量results只有一个项,但有多个用户 访问团队中的用户
var results = Teams.Expand("MemberUsers").Where(t => t.Company == "MyCompany");
foreach(var result in results)
{
... do some stuff;
}
我遇到的问题是,变量结果实际上是Team
类型,而不是User
类型。
成员用户
是团队
中的用户
的集合。所以变量results
只有一个项,但有多个用户
访问
团队中的用户的正确语法是什么?然后您需要选择用户:
var results = Teams.Expand("MemberUsers").Where(t => t.Company == "MyCompany").select(x=>x.Users).ToList();
或
任何时候,如果您想要的类型与您拥有的类型不同,请期待select
将成为解决方案的一部分。我似乎得到NotSupportedException:只能在上次导航后指定查询选项(orderby、where、take、skip)。
此处的所有建议。
var results = Teams.Where(t => t.Company == "MyCompany").SelectMany(t => t.MemberUsers);
var results = from t in Teams
where t.Company == "MyCompany"
from m in t.MemberUsers
select m;