[英]get related data from ms dynamics crm using XRM SDK
我正在尝试使用SDK从.net应用程序中的crm检索数据。 我已经设法做一些简单的查询来检索列表,但是现在我想获取带有项目而不是ID的相关实体。
我已经尝试过类似的东西
QueryExpression query = new QueryExpression
{
EntityName = "opportunity",
....
LinkEntity linkEntityAccount = new LinkEntity()
{
LinkFromEntityName = "opportunity",
LinkFromAttributeName = "opportunityid",
LinkToEntityName = "serviceappointment",
LinkToAttributeName = "regardingobjectid",
JoinOperator = JoinOperator.Inner,
Columns = new ColumnSet(new string[] { "scheduledstart", "scheduledend" }),
EntityAlias = "service"
};
query.LinkEntities.Add(linkEntityAccount);
(这将返回机会表中的实体集合)
但是,LinkedEntities只是将两列放在return实体中。
我想要的是(例如针对此示例)是一个entity.serviceappointment
,它是包含服务约会实体/数据的实体。 而不是在实体中,存在诸如service.scheduledstart
和service.scheduledend
字段
我已经查看了SDK中的Relationship
和RelationshipQueryCollection
内容,但是在没有先获取opportunity
实体的情况下,无法设置将执行该查询的查询。 但是看起来好像我需要什么? 我不确定。
这有可能吗? 还是应该继续单独查询实体?
谢谢
在QueryExpression
, LinkEntity
表示一个LinkEntity
。 这就是为什么联接表的字段位于“ Entity
行中的原因。 可以通过以下方式将它们与“真实”实体属性区分开:它们的名称带有前缀(包括点),并且其值包装在AliasedValue
对象中。
可以解开它们并创建强类型的Entity
对象,但是您需要自己编写代码。
另外,您可以考虑其他一些选择:
serviceappointment
记录并加入opportunity
记录。 opportunity
记录逐一使用RetrieveRequest
,包括在请求相关服务预约查询。 (另请参见有关StackOverflow的讨论。) OrganizationResponse
返回您需要的所有数据。 没有自动的方法来获取我所知道的整个链接的实体数据(作为Entity
对象)(请注意,这并不是说不可能)。
但是我认为仅查询另一个请求中所需的数据会容易得多。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.