相关活动记录

时间:2011-12-16 16:26:03

标签: c# plugins dynamics-crm-2011

所以这就是事情:我创建了一个自定义实体“new_ligneContrat”,它具有一对多 与另一个自定义实体“new_produit”的关系。

这是目标:当创建“new_ligneContrat”的新记录时,它必须在它之前获得“new_ligneContrat”的“new_produit”记录。该插件基于“new_ligneContrat。

我想知道FetchExpression + last()是否可以做到,但是现在我还没有找到合适的解决方案......

提前致谢!

编辑1:我们决定采用n到n的关系,所以我做了以下事情:

  

QueryExpression query = new QueryExpression();
                    query.EntityName = "new_produit";
                    query.ColumnSet = new ColumnSet("new_produitid");
                    Relationship relationship = new Relationship();

                    relationship.SchemaName = "new_new_lignecontrat_new_produit";
                    RelationshipQueryCollection relatedEntity = new RelationshipQueryCollection();
                    relatedEntity.Add(relationship, query);
                    RetrieveRequest request = new RetrieveRequest();
                    request.RelatedEntitiesQuery = relatedEntity;
                    request.ColumnSet = new ColumnSet("new_lignecontratid");
                    request.Target = new EntityReference
                    {
                        Id = first.Id,
                        LogicalName = first.LogicalName

                    };

                    RetrieveResponse response = (RetrieveResponse)service.Execute(request);
    if (((DataCollection<Relationship, EntityCollection>)(((RelatedEntityCollection)(response.Entity.RelatedEntities)))).Contains(new
> Relationship("new_new_lignecontrat_new_produit")) &&
> ((DataCollection<Relationship,
> EntityCollection>)(((RelatedEntityCollection)(response.Entity.RelatedEntities))))[new
> Relationship("new_new_lignecontrat_new_produit")].Entities.Count > 0)
>                         {
>                             response.Results.Remove("new_produitid");
>                             response["new_lignecontratid"] = new EntityReference(target.LogicalName, target.Id);

这是对的吗?

1 个答案:

答案 0 :(得分:0)

根据插件运行的插件执行的哪个阶段(预验证,操作前/后),一个选项是执行依赖于当前时间或{{的LINQ查询1}}新CreatedOn记录的属性,并调用new_ligneContrat方法获取最新的First记录。我在下面列了一个模型。

new_produit