none
请问一个关于实体记录关系映射的问题 RRS feed

  • 问题

  • 我两个实体已经创建好关系,例如客户和联系人

    我现在知道客户的ID,也知道N个联系人的ID,

    我如何在plugin或者其他C#代码中将这条客户的记录和这N个联系的关系映射或者建立起来呢?

    最好能给段源码,谢谢


    未将对象引用设置到对象的实例
    2011年2月22日 5:50

全部回复

  •     不是很明白你的意思。

        我对你的需求的理解是,Account和Contact之间创建了1:N关系,假设该关系的名称为account_contacts,该关系属性反映到Contact实体中的字段是accountid。你现在知道一个Account记录的ID,一组Contact实体记录的ID。需要依照关系account_contacts建立两类实体之间的关系。

        如果是上述我的描述,那么在MS CRM 4中,首先根据ContactID获取Contact记录,而后,更新每个Contact的accountid属性值为客户记录的ID,逐个更新Contact记录即可。

        大致的写法是:

        Guid accountId = <你写代码获取Accountid值>;

        List<Guid> contactIdList = <你写代码获取ContactId值>;

        ICrmService crmService = Context.CreateCrmService(false);

        foreach (Guid contactId in contactIdList)

        {

            DynamicEntity contact = new DynamicEntity();

            contact.Name = "contact";

            contact.Properties.Add(New KeyProperty("contactid", New Key( contactId)));

            contact.Properties.Add(New LookupProperty("accountid", New Lookup("account", accountId) ));

            crmService.Update(contact);

        }

        这段代码就是一个样例,没有经过编译,也没有测试,只是讲解一下我的想法。


    daemon lin
    2011年2月22日 7:42