2015-04-06 30 views
0

我正在使用CRM 2013,我想根據列表中的值返回大量自定義實體(大約100個)。如何批量加載CRM自定義實體

我不能做context.MyCustomEntity.Where(i=>list.Contains(i.Id));

我不能使用RetrieveMultiple,因爲我想更新這些實體,並將它們發送回服務器。

所以我不得不在循環中調用context.MyCustomEntity.Where(i=>i.Id == id)

有什麼地方可以從上下文中預取實體嗎?或者在循環的where子句中調用execute?

回答

2

如果您已經擁有該Id,並且您不需要引用記錄上的任何現有動態值,則可以更新記錄。這裏有一個例子:

var toUpdate = new MyCustomEntity{Id=id}; 
// update appropriate values 
orgService.Update(toUpdate); 

然而,如果你確實需要動態更新的領域,你可以大塊使用PredicateBuilder做一個動態OR條件的檢索,但你對標準的數量限制,您可以添加到您的查詢。讓我知道如果這是一條你需要走下去的道路,我可以提供更多指導。

相關問題