gpt4 book ai didi

c# - 具有联接的 CRM LINQ 查询中的异常。第二个表中的属性不存在

转载 作者:太空狗 更新时间:2023-10-30 01:07:05 25 4
gpt4 key购买 nike

首先我很抱歉,因为这是我第二次写这个问题,但之前解释得很糟糕,现在已经接近了。

我正在对 CRM 数据库的搜索页面进行 linq 查询,并且编写如下所示的普通查询不起作用,我遇到了异常:

 [System.ServiceModel.FaultException<Microsoft.Xrm.Sdk.OrganizationServiceFault>] = {"'Contact' entity doesn't contain attribute with Name = 'title'."}

对于连接查询,在 Where 子句中类似于 r.Name == "Me"&& j.LastName == "He"我不得不用两个 Where 子句进行查询,因为我得到的是相同的异常如上,表示表 'r' 没有 'LastName' 属性。

var cms = from i in aux_pr
join cal in Contact on i.aux_CallerRequestorID.Id equals cal.ContactId.Value
join sub in Subject on i.aux_ClassificationID.Id equals sub.SubjectId
where cal.FullName.Contains(searchTerm) ||
sub.Title.Contains(searchTerm)

在这种情况下,我该如何进行查询。提前致谢!

最佳答案

我想评论一下我学到了什么,以及我找到的解决问题的方法,希望能对某些人有所帮助。如 here 所述,CRM LINQ 中存在一些限制

我发现的第一个实体引用是这样的:

CrmEntityReference Caller
{
Guid ID;
string name;
}

我可以选择 Caller.name 但我不能在 where 子句中包含 Caller.name。对此的解决方案 -> 加入表格

第二个限制是,当我们在查询中加入连接时,如果它们是 AND 谓词,我们可以在 where 中有不同的表,我们必须像这样写两个子句:

   where cal.FullName.Contains(searchTerm)
where sub.Title.Contains(searchTerm)

但是当我们需要使用 OR 谓词而不是 AND 时,问题就来了,我们唯一的解决方案是执行两个查询,然后执行这些查询的并集。

我有四个查询可以用一个调用完成,现在由于记录的数量,在开发阶段性能很好,但我们将在测试阶段看到它是如何工作的。

关于c# - 具有联接的 CRM LINQ 查询中的异常。第二个表中的属性不存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13609024/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com