首先需要添加多对多关系:
1.找到解决方案,找到到需要添加多对多关系的实体,然后点击N:N关系,点击新建多对多关系
2.选择对应表,会生成关系名称和关系实体名称
3.在后台插入多对多关系表数据,注意:多对多的数据不可以重复添加
QueryExpression q_servicemainplan_salesorder = new QueryExpression(new_newentity);
q_servicemainplan_salesorder.ColumnSet = new ColumnSet(true);
q_servicemainplan_salesorder.Criteria.AddCondition("id", ConditionOperator.Equal, Guid);
q_servicemainplan_salesorder.Criteria.AddCondition("id", ConditionOperator.Equal, Guid);
var e_servicemainplan_salesorder = service.RetrieveMultiple(q_servicemainplan_salesorder);
if (e_servicemainplan_salesorder.Entities.Count == 0)
{
//如果不存在关系就插入一条关系
service.Associate(“t1实体名”, "t1Guid”, new Relationship("多对多关系名"), new EntityReferenceCollection() { new EntityReference(“t2实体名”, “t2Guid”) });
}
4.
adminService.Associate("当前名称",当前id,new Relationship("多对多关系英文名"),new EntityReferenceCollection(){new EntityReference("关联的实体",关联的实体id)});
EntityReferenceCollection relatedEntities = new EntityReferenceCollection();
relatedEntities.Add(new EntityReference(Account.EntityLogicalName, _account1Id));
relatedEntities.Add(new EntityReference(Account.EntityLogicalName, _account2Id));
relatedEntities.Add(new EntityReference(Account.EntityLogicalName, _account3Id));
// Create an object that defines the relationship between the contact and account.
Relationship relationship = new Relationship("account_primary_contact");
//Associate the contact with the 3 accounts.
_service.Associate(Contact.EntityLogicalName, _contactId, relationship,
relatedEntities);
Console.WriteLine("The entities have been associated.");
//Disassociate the records.
_service.Disassociate(Contact.EntityLogicalName, _contactId, relationship,
relatedEntities);
翻译:创建一个新的实体。
添加(新的实体参考(帐户. EntityLogicalName,_account1Id));
相关实体。添加(新的实体参考(帐户。实体逻辑名称,_account2Id));
相关实体。添加(新的实体参考(帐户。实体逻辑名称,_account3Id));
//创建一个定义联系人和帐户之间关系的对象。
关系关系=新关系("account_primary_contact");
//将联系人与3个帐户关联起来。
_service协理(联系人. EntityLogicalName,_contactId,关系,
相关实体);
控制台。WriteLine(“实体已关联。”);
//解除记录的关联。
_service解除关联(联系人. EntityLogicalName,_contactId,关系,
相关实体);
service.Associate("new_delivertrack", gid, new Relationship("new_new_delivertrack_contact"), new EntityReferenceCollection() { new EntityReference("contact", contactid) });