gpt4 book ai didi

dynamics-crm - FetchXml 查询生成 'Generic SQL Error' 但如果我切换链接的实体是否有效?

转载 作者:行者123 更新时间:2023-12-04 05:17:59 26 4
gpt4 key购买 nike

我正在尝试查询“ Vanilla ”CRM 2015 的产品目录,我的最终目标是通过价格表和名称的子字符串检索事件产品,目前我正在硬编码我的数据,如下所示:

PriceLevel: hardcoded GUID
Name: hardcoded "a"

生成的 XML 是这样的:
<fetch version="1.0" output-format="xml-platform" mapping="logical" distinct="true" count="50">
<entity name="productpricelevel" >
<attribute name="uomid" />
<filter type="and">
<condition attribute="pricelevelid" operator="eq" uitype="pricelevel" value="{7080964d-85df-e411-80ba-00155d0b0c38}" />
</filter>
<link-entity name="product" from="productid" to="productid" alias="ac" >
<attribute name="name" />
<attribute name="productnumber" />
<order attribute="productnumber" descending="false" />
<filter type="and">
<condition attribute="name" operator="like" value="a" />
<condition attribute="statecode" operator="eq" value="0" />
</filter>
</link-entity>
</entity>
</fetch>

当我尝试执行查询时,我得到 Generic SQL Error .然后我查看了跟踪日志,发现了这个:
Exception when executing query: select DISTINCT "productpricelevel0".UoMId as "uomid", "productpricelevel0".UoMIdName as "uomidname", 
coalesce("LL0".Label,"ac".Name ) as "ac.name", "ac".ProductNumber as "ac.productnumber"
from ProductPriceLevel as "productpricelevel0" join Product as "ac"
on ("productpricelevel0".ProductId = "ac".ProductId and ( coalesce("LL0".Label,"ac".Name) like 'a' and "ac".StateCode = 0))
left outer join BusinessDataLocalizedLabel as "LL0" on ("LL0".ObjectId = "ac".ProductId and "LL0".LanguageId = 1033 and "LL0".ObjectColumnNumber = 6 )
where ("productpricelevel0".PriceLevelId = '7080964d-85df-e411-80ba-00155d0b0c38') order by
"ac".ProductNumber asc

Exception: System.Data.SqlClient.SqlException (0x80131904): The multi-part identifier "LL0.Label" could not be bound

为了识别一种模式,我切换了 JOIN,最终得到了这个 XML:
<fetch version="1.0" output-format="xml-platform" mapping="logical" distinct="true" count="50" >
<entity name="product" >
<attribute name="name" />
<attribute name="productnumber" />
<order attribute="productnumber" descending="false" />
<filter type="and" >
<condition attribute="name" operator="like" value="a" />
<condition attribute="statecode" operator="eq" value="0" />
</filter>
<link-entity name="productpricelevel" from="productid" to="productid" alias="ac" >
<attribute name="uomid" />
<filter type="and" >
<condition attribute="pricelevelid" operator="eq" uitype="pricelevel" value="{7080964d-85df-e411-80ba-00155d0b0c38}" />
</filter>
</link-entity>
</entity>
</fetch>

这一次,我得到了预期的结果,没有错误。

该组织是新的,仅包含站点地图/HTML/JS 自定义(我正在查询的实体尚未自定义),1033 是基本语言,安装并启用了另一种语言,但没有被任何 2 使用系统的用户。

第一种情况是怎么回事?

更新:第一个查询适用于 2013 年的组织。这开始感觉像是一个错误。

最佳答案

这绝对是一个错误。我猜微软改变了转换 QueryBase 的引擎查询到 T-SQL。

本周我们遇到了与关联实体有关的问题。这是关于以下情况:

.AddCondition("statuscode", ConditionOperator.In, new object[] { 1, 2, 3 });

当应用于 QueryExpression 的主要实体时,条件按预期处理。当应用于链接实体时,它会失败。在以前版本的 Dynamics CRM 中,它适用于这两种情况。

关于dynamics-crm - FetchXml 查询生成 'Generic SQL Error' 但如果我切换链接的实体是否有效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30025800/

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