[英]Getting related entities from intersect entity D365 C#
我检索了一个相交实体和与之相关的两个实体。
我已经将实体链接到查询(我的信念)。
当我运行代码时,所有相交实体都会出现,但我无法弄清楚如何从中获取任何数据,甚至是名称的名称。
请看下面的代码:.
private static EntityCollection GetOpportunityAndInstallationSiteIntersectEntity(IOrganizationService service)
var installationSite = "csp_installationsite";
var opportunity = "opportunity";
var relationshipName = "csp_opportunity_csp_installationsite";
var relationshipQuery = new QueryExpression(installationSite)
{
ColumnSet = new ColumnSet(true)
};
var linkInstallationSite = new LinkEntity(installationSite, relationshipName, "csp_installationsiteid","csp_installationsiteid" ,JoinOperator.Inner);
var linkOpportunity = new LinkEntity(opportunity, relationshipName, "opportunityid", "opportunityid" ,JoinOperator.Inner);
linkInstallationSite.LinkEntities.Add(linkOpportunity);
relationshipQuery.LinkEntities.Add(linkInstallationSite);
var RelationshipCollection = service.RetrieveMultiple(relationshipQuery);
Console.WriteLine("Retrieved {0} Intersect Entities", RelationshipCollection.Entities.Count);
foreach (Entity IS in RelationshipCollection.Entities)
{
Console.WriteLine("Intersect Entity:", IS["csp_name"]);
}
return RelationshipCollection;
I'd just like to know how I can get the records related to the intersect.
Lets call an entity A, I want to deprecate it, but it's related to Entity B in a N:N relationship.
I've created a new entity, which is related to entity A in PowerAutomate.
我希望所有实体 B 现在都与我在 PowerAutomate 中创建的这个实体相关。
任何帮助表示赞赏。
当我运行您的代码时,我可以访问安装站点属性,我只是稍微修改它以从机会中获取所有属性。
下面的代码循环访问机会和安装站点的名称属性。
private static EntityCollection GetOpportunityAndInstallationSiteIntersectEntity(IOrganizationService service)
{
var installationSite = "csp_installationsite";
var opportunity = "opportunity";
var relationshipName = "csp_opportunity_csp_installationsite";
var relationshipQuery = new QueryExpression(installationSite)
{
ColumnSet = new ColumnSet(true)
};
var linkInstallationSite = relationshipQuery.AddLink(relationshipName, "csp_installationsiteid", "csp_installationsiteid", JoinOperator.Inner);
var linkOpportunity = linkInstallationSite.AddLink(opportunity, "opportunityid", "opportunityid", JoinOperator.Inner);
linkOpportunity.EntityAlias = "opp";
linkOpportunity.Columns.AllColumns = true;
var RelationshipCollection = service.RetrieveMultiple(relationshipQuery);
foreach (Entity IS in RelationshipCollection.Entities)
{
Console.WriteLine($"Intersect Entity: {IS["csp_name"]} {((AliasedValue)IS["opp.name"]).Value}");
}
return RelationshipCollection;
}
从那里您需要将记录关联到新实体并分离旧实体
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.