2011-11-24 55 views
0

在CRM 2011中,我希望創建一個特定實體的集合。我試過使用以下運氣,但沒有運氣。這可能是我的語法剛剛關閉,或者我可能使用了錯誤的聲明類型。我正在使用Early Bound技術。簡單CRM 2011集合語法

DataCollection<SalesOrderDetail> orderDetails = new DataCollection<SalesOrderDetail>(); 

這似乎適用於某些類型的查詢,但不適用於自定義。編譯錯誤:「類型'Microsoft.Xrm.Sdk.DataCollection'沒有定義構造函數」

定義CRM泛型集合的正確方法是什麼?這個代碼塊後,我建立的SalesOrderDetail實體的個體了一把,然後我想將它們添加到集合:

orderDetails.AddRange(od1, od2, od3); 

我應該是使用泛型列表?我認爲最好使用SDK方法。

回答

4

我傾向於只使用泛型,例如

List<Account> Accounts = new List<Account>(); 

或IEnumerable,IQueryable取決於情況的上下文。到一系列實體添加到一個通用的,你可以只使用:

List<Account> Accounts = new List<Account>(); 
Account a1 = new Account(); 
Account a2 = new Account(); 
Account a3 = new Account(); 
Accounts.AddRange(new List<Account> { a1, a2, a3 }); 

如果你確實想要更多的東西可重複使用,所有的早期綁定實體自由轉換,並從Microsoft.Sdk.Entity類如

List<Entity> Entities = new List<Entity>(); 

上述集合可以將所有不同類型的實體存儲在一個列表中。

+0

使用泛型可以正常工作,因爲CRM在這種情況下似乎沒有自己的集合。 – roadsunknown