在Biztalk Map中映射字段时避免在父范围中重复

时间:2019-03-06 12:20:23

标签: c# xml xslt schema biztalk

我的情况是这样的: 源树中的“代码”字段需要映射到目标树中的“代码”字段。目标树中的“代码”字段具有2个父节点。为了验证目标架构,同一代码在第二个父节点的范围内不得出现多次。这是hiearchy的图像:

enter image description here

因此,在“ PurchaseInformation”的范围内,不会出现相同的“ Code”。循环的functoid在“商品说明”上循环。我试图创建一个内联C#脚本来处理它,但是没有考虑范围。参见下面的代码:

public System.Collections.Generic.List<string> duplicateList = new System.Collections.Generic.List<string>();

    public bool IsDuplicate(string code)
    {
         if( duplicateList.Contains(code)) {
            return false;
         } 
         else {
            duplicateList.Add(code);
            return true;
         }
    }

我的问题是创建的全局列表。它不会在每次循环后重置,但是我不确定如何实现此功能。我的问题是如何确保目标树中“ PurchaseInformation”记录的范围内没有映射重复的代码?

1 个答案:

答案 0 :(得分:0)

没有看到整个过程,很难给出什么可能是最好的解决方案...但是...

您可以尝试使用列表列表,而不是尝试重置集合(这是很难的原因)。

假设SimplifiedInvoice是ID或其他内容,则可以使用列表字典,该列表将跟踪每个发票的唯一代码值的列表。