gpt4 book ai didi

javascript - 在 PREM Dynamics CRM 2016 JavaScript 上相当于我的 C# QueryExpression

转载 作者:行者123 更新时间:2023-11-29 16:32:41 24 4
gpt4 key购买 nike

我正在尝试从 Dynamics CRM 获取特定查询表达式的 FetchXML 查询。我已成功在 C# 项目中使用 XRM SDK 来完成此操作,如下所示。

       string connectionStr = @"Server=https://mycompany.com/XRMServices/2011/Organization.svc; Username=theUserName; Password=pwd";

Microsoft.Xrm.Client.CrmConnection conn = Microsoft.Xrm.Client.CrmConnection.Parse(connectionStr);


var service = new Microsoft.Xrm.Client.CrmOrganizationServiceContext(conn);

var query = new QueryExpression();

QueryExpressionToFetchXmlRequest req = new QueryExpressionToFetchXmlRequest();

query.EntityName = "my_entity";

query.ColumnSet = new ColumnSet("_accountnumber", "_id");

FilterExpression filter = new FilterExpression();

filter.Conditions.Add(new ConditionExpression("_Oactivedate", ConditionOperator.NotNull));
filter.Conditions.Add(new ConditionExpression("_Oinactivedate", ConditionOperator.Null));
filter.Conditions.Add(new ConditionExpression("_state", ConditionOperator.Equal, 0));

FilterExpression filter1 = new FilterExpression(LogicalOperator.Or);


var filter2 = new FilterExpression(LogicalOperator.And);
filter2.Conditions.Add(new ConditionExpression("_lastname", ConditionOperator.Equal, lastName));
filter2.Conditions.Add(new ConditionExpression("_accountnumber", ConditionOperator.Equal, accountId));


var filter3 = new FilterExpression(LogicalOperator.And);
filter3.Conditions.Add(new ConditionExpression("_accountactivedate", ConditionOperator.NotNull));
filter3.Conditions.Add(new ConditionExpression("_accountinactivedate", ConditionOperator.Null));




filter1.AddFilter(filter2);
filter1.AddFilter(filter3);

filter.AddFilter(filter1);




query.Criteria = filter;
req.Query = query;
QueryExpressionToFetchXmlResponse resp = (QueryExpressionToFetchXmlResponse)service.Execute(req);


//fetchxml string
string myfetch = resp.FetchXml;

我的要求不允许使用 .Net DLL,因此我想在 JS 中执行此操作。我尝试过查看 JS SDK,它不像 C# 那样友好(也许只是我的问题:)。我真的很感激任何能够尝试编写与我上面的代码等效的 JS 的人,或者指导一个可以帮助我自己解决问题的好 Material 。我的主要兴趣是从动态强类型 QueryExpression 对象生成 FetchXml 查询。谢谢!

最佳答案

您应该能够在高级查找中构建查询并从那里下载 fetchxml 以在 JavaScript 中使用。 Read more

您可以使用XrmToolBox - FetchXml Builder还有for building queries (这也将给出 SQL、QueryExpression 等效项),然后使用此 online formatter tool 生成语言兼容的输出

在 JavaScript 中使用 fetchxml 的代码示例可以在 this blog 中找到。例如:

var encodedFetchXml = encodeURI(fetchContact);
var reqURL = clientURL + “/api/data/v8.2/contacts?fetchXml=” + encodedFetchXml;
var req = new XMLHttpRequest();
req.open(“GET”, reqURL, false);

QueryExpression、FetchXml、LINQ 都是编写相同查询的选择。如您所知 - QueryExpression 不能在 JavaScript 中使用,但 fetchxml 可以在 C# 和 JS 中使用。

关于javascript - 在 PREM Dynamics CRM 2016 JavaScript 上相当于我的 C# QueryExpression,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54356648/

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