因此,Dynamics CRM中的連接提供了將事物連接在一起的通用方法。Dynamics Crm:通過API創建連接實體
Connections實體內部具有Record1Id屬性和Record2Id屬性等等。
當你創建一個connection via the UI,CRM實際上是「在數據庫中創建連接表的兩個條目,每個條目可以搜索來自始發記錄或相關記錄的相關記錄。」
也就是說,如果連接A和B,這樣可以節省兩行的(幕後)表:
- 一個與Record1Id = A和Record2Id = B
- 和一個與Record1Id = B和Record2Id = A
這是爲了使搜索連接更容易。如果您在連接上進行高級查找,則只需執行「單向搜索」即可。
所以我的問題是:
當通過API(後期綁定),它是這樣創建的連接:
Entity connection = new Entity("connection");
connection["record1id"] = new EntityReference("contact", someContactId);
connection["record1objecttypecode"] = new OptionSetValue(2);
connection["record1roleid"] = new EntityReference("connectionrole", someConnectionRoleId);
connection["record2id"] = new EntityReference("incident", someCaseId);
connection["record2objecttypecode"] = new OptionSetValue(122);
connection["record2roleid"] = new EntityReference("connectionrole", someOtherConnectionRoleId);
var newId = service.Create(connection);
...是足以創造他們'單向「,然後幕後CRM將創建雙向連接?
...或者你需要在兩個方向上手動創建它們嗎? (通過節省兩次並交換record1id record2id值等)
或換言之,用於Connections的CRM API封裝了「其背後的實際兩個連接」功能,還是您需要手動處理你自己?
這似乎喜歡的事,你可以測試速度比你可以問... – Daryl 2013-04-04 13:32:51
我使用CRM Online中的StackOverflow的問題 - 我沒有對數據庫的任何訪問在幕後。另外,如果其他人想知道同樣的事情,這個問題將希望有一個答案... – codeulike 2013-04-04 13:35:58