我已经尝试了几种方法来搜索在membresEquipeDuClient列表中有propritaire.id的客户端,但是每次我得到“无效”其中'条件。实体成员正在调用无效的属性或方法。“ -error!
我在第二个请求中收到了错误,
我使用的方法:
List<TeamMembership> membresEquipeDuClient = (from k in context.CreateQuery<TeamMembership>()
where k.teamid == equipeDuClient.Id
select k).ToList();
var pRechercheNumeroClient = (from p in context.CreateQuery<Client>()
where membresEquipeDuClient.Any(a => a.systemuserid == p.proprietaire.Id)
select p).FirstOrDefault();
知道如何解决这个问题吗?
所有帮助的Thx!
答案 0 :(得分:1)
var pRechercheNumeroClient = (from p in context.CreateQuery<Client>()
where membresEquipeDuClient.Select(a => a.systemuserid).Contains(p.proprietaire.Id)
select p).FirstOrDefault();
答案 1 :(得分:1)
正如评论中所述,Any
不受支持,但Contains
是。{1}}。所以你可以这样做:
var systemUserIds =
(
from k in context.CreateQuery<TeamMembership>()
where k.teamid == equipeDuClient.Id
select k.systemuserid // Select the Id only
).ToList();
var pRechercheNumeroClient =
(
from p in context.CreateQuery<Client>()
where systemUserIds.Contains(p.proprietaire.Id)
select p
).FirstOrDefault();
我不熟悉Dynamics CRM,但我认为您可以从第一个语句中删除ToList
,因此它将是IQueryable
,并且这两个语句将作为一个表达式执行