我尝试了几种方法来搜索在 membresEquipeDuClient 列表中具有 propritaire.id 的客户端,但每次我都收到“无效的‘where’条件。实体成员正在调用无效的属性或方法。” -错误!
我在第二个请求中得到了错误,
我用过的方法:
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();
知道如何解决这个问题吗?
感谢所有帮助!
最佳答案
如评论中所述,不支持Any
,但支持Contains
。所以你可以这样做:
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
,并且两个语句都是作为一个表达式执行。
关于c# - 'where' 条件无效。实体成员正在调用无效的属性或方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31201990/