0
我們在與Salesforce.com的.Net集成中使用合作伙伴API。我正在使用以下代碼將Account記錄添加到字典中,並使用ExternalId__c作爲每條記錄的關鍵字。.Net Salesforce集成 - 從列表中獲取列值<sObject>
public Dictionary<string, List<sObject>> getAccountMap(SalesforceConnection clientConn)
{
Dictionary<string, List<sObject>> accountByMerchNum = new Dictionary<string, List<sObject>>();
List<sObject> sObjRTypes = clientConn.performQuery("SELECT Id, ExternalId__c FROM Account");
if (sObjRTypes != null && sObjRTypes.Count > 0)
{
sObject Account = sObjRTypes[0];
foreach (XmlElement elem in Account.Any)
{
if (elem.LocalName.ToString() == "ExternalId__c")
{
if (accountByMerchNum.ContainsKey(elem.InnerText))
{
accountByMerchNum[elem.InnerText].Add(Account);
}
else
{
accountByMerchNum.Add(elem.InnerText, new List<sObject> { Account });
}
}
}
}
return accountByMerchNum;
}
如何從Dictionary>中提取特定的列值?我猜想它應該是類似於以下內容......但我的猜測迄今爲止是錯誤的。
Dictionary<string, List<sObject>> accountDictionary = new Dictionary<string, List<sObject>>();
String tempId = accountDictionary[externalId].getId();
從這種類型的集合中提取特定列值的正確語法是什麼?
您需要使用Partner API的任何特殊原因?如果不需要使用多個不同的Salesforce組織,則使用企業版本可能會更簡單。解析(使用)WSDL將爲您提供像Account或Contact類的具體字段,使用起來更簡單。 – eyescream
由於正在處理的數據量很大,我們正在使用合作伙伴。 – user2774325