Visual studio 如何动态更改Foreach循环递归属性

Visual studio 如何动态更改Foreach循环递归属性,visual-studio,ssis,etl,data-warehouse,Visual Studio,Ssis,Etl,Data Warehouse,我在一个项目中工作,有时我需要遍历子文件夹,有时我不需要。为了实现我的目标,我想使用single Foreach循环并动态更改它的属性遍历子文件夹 是否有任何解决方案可以通过SSIS任务表达式或通过VB或C#代码或其他方式动态更改属性? 请帮忙 您是否考虑过让Foreach循环有两个副本,一个选中了遍历子文件夹,另一个未选中此属性,然后使用带有参数的优先级约束来决定执行哪一个?在您的示例中,每个Foreach循环都可以连接到前面的executesql任务,每个任务上都有一个优先级约束,该约束包含

我在一个项目中工作,有时我需要遍历子文件夹,有时我不需要。为了实现我的目标,我想使用single Foreach循环并动态更改它的属性遍历子文件夹 是否有任何解决方案可以通过SSIS任务表达式或通过VB或C#代码或其他方式动态更改属性? 请帮忙


您是否考虑过让Foreach循环有两个副本,一个选中了遍历子文件夹,另一个未选中此属性,然后使用带有参数的优先级约束来决定执行哪一个?在您的示例中,每个Foreach循环都可以连接到前面的executesql任务,每个任务上都有一个优先级约束,该约束包含一个表达式,该表达式检查一个参数以确定要使用的Foreach循环。下面的示例是使用布尔参数的优先约束上的表达式。这将发生在遍历子文件夹的Foreach循环上,同样的情况也会发生在另一个(非递归)Foreach循环上,并检查参数是否设置为false

@[$Package::TraverseSubFolders] == True

您是否考虑过让Foreach循环有两个副本,一个选中了遍历子文件夹,另一个未选中此属性,然后使用带有参数的优先级约束来决定执行哪一个?在您的示例中,每个Foreach循环都可以连接到前面的executesql任务,每个任务上都有一个优先级约束,该约束包含一个表达式,该表达式检查一个参数以确定要使用的Foreach循环。下面的示例是使用布尔参数的优先约束上的表达式。这将发生在遍历子文件夹的Foreach循环上,同样的情况也会发生在另一个(非递归)Foreach循环上,并检查参数是否设置为false

@[$Package::TraverseSubFolders] == True

在foreach循环集合属性中的表达式下,您位于名为“Recurse”的表达式之后

创建一个布尔变量,然后将该变量指定给“Recurse”属性。 在foreach循环中,可能必须将delay validation属性设置为true


然后在运行时翻转该变量,以使用脚本任务更改其行为,或者可以使用存储过程的结果进行更改。

在foreach循环集合属性中的表达式下,在名为“Recurse”的表达式之后

创建一个布尔变量,然后将该变量指定给“Recurse”属性。 在foreach循环中,可能必须将delay validation属性设置为true


然后在运行时翻转该变量以使用脚本任务更改其行为,或者可以使用存储过程的结果来完成。

容器中的数据流任务是什么?容器中的数据流任务是什么?明白了非常感谢