2013-07-12 39 views
0

在MS CRM Development Environment實例中創建了一千條記錄。一個新的字段是必需的,並且由實體定製創建。我們需要該字段中每條記錄的隨機值。有什麼支持的方法來實現這一點?Dynamics CRM 2011一次性批量更新隨機值的測試記錄

選項我想過是

  1. 工作流(不允許隨機值)加上一個隨機值科拉姆後
  2. 批量更新(不允許隨機值)
  3. 從Excel導入批量更新用= RAND()填充。不知道這是否會更新現有記錄。
  4. 寫一個ODATA網頁資源html頁面來做到這一點。 (太脆弱了,漫長的開發和調試的時間和精力)
  5. 使用LinqPad 4 CRM 2011連接器插件來實現相同的

回答

0

在LinqPad 4以下解決方案與CRM連接器花了10分鐘,處理約700條記錄。

//set up a random amount generator 
var r = new Random(); 
//initialte with an arbitrary value 
decimal amount = 13; 
//list all required records using linq 
var ats = (from at in psm_assettypeSet 
where at.psm_Amount.Equals(null) 
select at).ToList(); 
//check count 
ats.Count().Dump(); 
//check 
(ats.First() as psm_assettype).psm_Amount.Dump(); 
//loop through 
foreach (psm_assettype at in ats) 
{ 
    //calculate amount 
    amount = (decimal)r.Next(31); 
    //check 
    amount.Dump(); 
    //set amount, use XRM class properly 
    at.psm_Amount = new Microsoft.Xrm.Sdk.Money(amount); 
    //update object in memory 
    UpdateObject(at); 
} 
//bulk update all records 
SaveChanges(); 
//check success 
(ats.First() as psm_assettype).psm_Amount.Value.Dump();