【发布时间】:2017-08-23 16:43:51
【问题描述】:
我在运行大部分查询时遇到了问题。我可以生成一个链接查询,一次只连接一个相关实体。但是,当我运行具有多个连接的 LINQ 查询时,如下例所示,我收到“序列不包含元素”错误。
var query =
(
from permission in context.CreateQuery<ServiceModel.Types.idoe_permission>()
join contact in context.CreateQuery<ServiceModel.Types.Contact>()
on permission.idoe_contact_idoe_permission.Id equals contact.Id
join corporation in context.CreateQuery<ServiceModel.Types.idoe_corporation>()
on permission.idoe_idoe_corporation_idoe_permission.Id equals corporation.Id
join role in context.CreateQuery<ServiceModel.Types.idoe_role>()
on permission.idoe_idoe_role_idoe_permission.Id equals role.Id
where contact.idoe_ADB2CID == request.UserId
select new { Corporation = corporation, Role = role }
).ToList();
我一次只能“加入”一个实体。我见过的其他示例允许多个连接,但我无法让它工作。
有什么建议吗?
【问题讨论】:
-
一个愚蠢的问题 - 你确定这个“应该”返回一个结果吗?也许没有与此查询匹配的记录?我建议构建一个 FetchXML 查询(使用高级查找)并检查它是否返回您想要的值。此外,您应该使用 Aron 的答案中的查找名称,这样会更清晰
标签: c# linq dynamics-crm dynamics-365