【问题标题】:Dynamics CRM 2011 Once-off Bulk Update test records with random valuesDynamics CRM 2011 一次性批量更新带有随机值的测试记录
【发布时间】:2013-07-12 02:32:22
【问题描述】:

在 MS CRM 开发环境实例中创建了一千条记录。新字段是必需的,由实体自定义创建。我们需要该字段的每条记录中的随机值。有哪些支持的方式来实现这一目标?

我想到的选项是

  1. 工作流程(不允许随机值)
  2. 批量更新(不允许随机值)
  3. 在添加填充有 =RAND() 的随机值列后,通过从 excel 导入进行批量更新。不确定这是否会更新现有记录。
  4. 编写 ODATA Web 资源 html 页面来执行此操作。 (太脆弱了,开发调试时间长,费力)
  5. 使用带有 CRM 2011 连接器插件的 LinqPad 4 来实现同样的效果

【问题讨论】:

    标签: random dynamics-crm-2011 dynamics-crm odata linqpad


    【解决方案1】:

    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();
    

    【讨论】:

      猜你喜欢
      • 2012-01-21
      • 1970-01-01
      • 2012-10-27
      • 2013-10-20
      • 1970-01-01
      • 1970-01-01
      • 2018-09-22
      • 1970-01-01
      • 2014-03-29
      相关资源
      最近更新 更多