【问题标题】:Passing collection to the xbre Rule将集合传递给 xbre 规则
【发布时间】:2013-04-03 03:55:58
【问题描述】:

我有一个 .NET 对象,它是一个集合,例如一个包含员工列表的 Employee 对象。

我需要将其传递给规则引擎以在规则文件中进行循环。

您能否帮我处理来自 .NET 的代码以及在 xbre 文件中循环的代码。 我已经成功传递了一个带有单条记录的对象。但是需要通过集合。

【问题讨论】:

    标签: nxbre


    【解决方案1】:

    我建议您使用标准方法将 EmployeeWrapper 对象本身传递给 NxBRE:

    bre.RuleContext.SetObject("EmployeeWrapper", employeeWrapper);
    

    然后反思性地提取员工列表:

    <ObjectLookup id="Employees" objectId="EmployeeWrapper" member="Employees" />
    

    假设 EmployeeWrapper 对象有一个名为 Employees 的属性,该属性返回员工集合

    然后使用ForEach 块来迭代员工:

    <ForEach id="Employee" valueId="Employees">
        ...
    </ForEach>
    

    【讨论】:

    • @大卫。是否可以像数组一样获取此集合,例如 &lt;ObjectLookup id="Employees" objectId="EmployeeWrapper[0]" /&gt; 之类的东西,foreach 解决方案无法解决我的问题。
    • @vahidkargar NxBRE.Util.DataAccess#GetArrayColumnValue 静态助手应该允许您获取数组值。请参阅此处的示例:github.com/ddossot/NxBRE/blob/master/NxBRE3/Rulefiles/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-09-20
    • 1970-01-01
    • 2018-09-06
    • 2023-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多