嗯,正如标题所说。我想使用脚本组件目标,然后利用 LINQ 选择要处理哪些行以进行输出。
对于更多背景知识,我将这个丑陋的合并事物与一对多关系。这些行看起来有点像:
[ID] [Title] [OneToManyDataID]
1 Item one 2
1 Item one 4
1 Item one 3
3 Item two 1
3 Item two 5
我们将调用对象 [Item],它具有 ID 和 Title 列以及 [OneToMany]
我希望我可以把整个东西扔到一个脚本组件的目的地,然后使用 LINQ 做一些事情,比如按项目分组,只从最高的 OneToMany 对象中获取数据。有点像:
foreach(var item in Data.GroupBy(d=>d.Item).Select(d=> new {Item = d.Key})){
//Then pick out the highest OneToMany ID for that row to use with it.
}
我意识到可能有更好的 LINQ 查询来实现这一点,但关键是,SSIS 中的脚本组件似乎只允许使用预定义的 ProcessInputRow 方法在每行的基础上使用它。我想在哪里准确确定处理了哪些行以及将哪些属性传递给该方法。
我该怎么做呢?