crm多对多
多对多要使用service.Associate
传入两表的id
和中间表的
service.Associate("invoice", entityReferenceInvoice.Id, new Relationship("new_invoice_new_contact20220111"), entityReferenceCollectionContact); 添加多对多的记录 service.Associate("当前entity","当前entityid","关系表名称","记录集合") QueryExpression userque = new QueryExpression("systemuser"); userque.ColumnSet = new ColumnSet(true); userque.Criteria.FilterOperator = LogicalOperator.And; userque.Distinct = true; //外键表名,用户id,外键表中的用户id LinkEntity link = userque.AddLink("systemuserroles", "systemuserid", "systemuserid", JoinOperator.Inner); link.EntityAlias = "Role"; //外键表名,角色id,外键表中的角色id LinkEntity roleLink = link.AddLink("systemuserroles", "roleid", "roleid", JoinOperator.Inner); //roleLink.Columns.AddColumn("name"); //userque.Criteria.AddCondition("country", "new_name", ConditionOperator.Equal, "United States"); //查用户中id等于excel的用户 userque.Criteria.AddCondition("systemuserid", ConditionOperator.Equal, entityUser.Id.ToString()); roleLink.LinkCriteria.AddCondition("roleid", ConditionOperator.Equal, entityCollectionRole.Entities[0].Id.ToString()); EntityCollection systemUserRoles = server.RetrieveMultiple(userque); //判断用户是否有此角色 if(systemUserRoles.Entities.Count == 0) { //没有角色的话添加 server.Associate("systemuser", entityUser.Id, new Relationship("systemuserroles_association"), new EntityReferenceCollection() { new EntityReference("role", entityCollectionRole.Entities[0].Id) }); taskContext.Logger.ConsoleInfo($"已为“" + userName + "”添加“"+ item + "”角色"); }
插件中使用

浙公网安备 33010602011771号