SSIS foreach 与简单对象列表
我将其用于原始对象列表(例如字符串列表,如 这个问题)
但是如何配置 SSIS ForEach 任务来循环通过 List
或数组 Dog[]
,其中 Dog
是一个像这样的简单对象:
public class Dog {
public string Name{ get; set;}
public string BestTrick{ get; set;}
}
可以说我正在尝试获取 < code>Name 和 BestTrick
转换为两个字符串循环变量以在循环内使用。
将变量映射到“变量映射”选项卡上的位置 0 和 1 似乎不起作用。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
SSIS 中的 Foreach 循环用于迭代对象列表。因此,对于上面的示例,您有一个一维列表
List
作为循环的输入。要获取列表中的当前项目,您需要指定一个映射到索引 0 的变量。如果您有一个二维列表,假设
List
那么您将检索当前的 Dog 对象通过将变量映射到索引 0,将当前所有者映射到索引 1。将当前对象放入变量中后,您可以通过将其强制转换为脚本任务中的适当类型来获取其属性。在脚本内,您可以调用
dog.Name
并将其保存到另一个变量以在其他组件中使用。这是脚本任务代码 (C#) 的示例,它从变量中检索狗对象,然后将其
Name
和BestTrick
保存到两个不同的变量。请注意,您必须在其属性中让脚本任务知道您要编辑或读取的每个变量
The Foreach Loop in SSIS is used for iterating over a list of objects. So, for the example above you have a one dimensional list,
List<Dog>
, as an input to the loop. To get the current item in the list you need to specify a variable mapping to index 0.If you had a two dimensional list, lets say
List<Dog,Owner>
then you would retrieve the current Dog object by mapping a variable to index 0, and the current Owner by mapping to index 1.Once you have the current object in a variable you can get its properties by casting it to the appropriate type in a Script Task. Inside the script you can call
dog.Name
and save it to another variable for use in other components.This is an example of the Script Task code (C#) which retrieves the dog object from a variable, and then saves its
Name
andBestTrick
to two different variables.Please note that you will have to make each variable you want to edit or read known to the Script Task in its properties