c# – 带有连接的CRM LINQ查询中的异常.第二个表中的属性不存在
作者:互联网
首先,我很抱歉,因为这是我第二次写这个问题,但之前的解释很糟糕,现在已经很接近了.
我正在为CRM数据库的搜索页面执行linq查询,并且如下所示的正常查询不起作用,我得到了异常:
[System.ServiceModel.FaultException<Microsoft.Xrm.Sdk.OrganizationServiceFault>] = {"'Contact' entity doesn't contain attribute with Name = 'title'."}
对于连接查询,在子句中的位置就像r.Name ==“Me”&& j.LastName ==“他”我必须用两个Where子句进行查询,因为我得到了与上面相同的异常,说表’r’没有’LastName’attributte.
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)
在这种情况下,我该如何进行此查询.提前致谢!
解决方法:
我想评论我学到的东西以及我找到的解决方案,我希望能帮助一些人. CRM LINQ存在一些限制,如here所述
我找到的第一个,有这样的实体引用:
CrmEntityReference Caller
{
Guid ID;
string name;
}
我可以选择Caller.name,但我不能在where子句中使用Caller.name.解决方案 – >加入表格
第二个限制是,当我们在查询中加入时,如果它们是AND谓词,我们可以在其中有不同的表,我们必须写两个子句,如下所示:
where cal.FullName.Contains(searchTerm)
where sub.Title.Contains(searchTerm)
但问题来自于我们需要使用OR谓词而不是AND,我们唯一的解决方案是执行两个查询并在执行这些查询的联合之后.
我有四个查询可以只用一个调用,现在处于开发阶段,由于记录的数量,性能很好,但我们将在测试阶段看到这是如何工作的.
标签:c,linq,crm,dynamics-crm,dynamics-crm-2011 来源: https://codeday.me/bug/20190620/1246684.html