背景:对象列出C#和SSIS
一个奇怪的一个位。使用SSIS处理来自API的数据来了,我的第一个脚本获取数据,并把它反对所谓“TestModel”强类型模型
然后SSIS包所产生的信息保存到一个变量,然后通过进入SSIS包的下一部分。由于SSIS名称空间不被执行,所以每个脚本任务都是孤立的。
脚本任务的一个命名空间:ST_a048e0de86e1432d8da6f60b5d7055db
脚本任务的命名空间:SC_0573a66ec6c0486a98ee00cea4365654
的问题:
第二SSIS脚本任务拿起变量和读取这很好,我可以在调试看到我所有的行和所有相关数据。现在,事情开始变得怪异,名单的类型,当它到达我的第二个脚本
object {System.Collections.Generic.List<ST_a048e0de86e1432d8da6f60b5d7055db.TestModel>}
每个对象在这个Generic.List
具有的类型:
ST_a048e0de86e1432d8da6f60b5d7055db.TestModel
我能有这份名单做?几乎没有... 我已经重复了TestModel.cs从脚本命名一个到名字空间2希望它只是匹配很好,如果我创建了一个新的列表,并通过对象太吧,唉没有。
我迄今为止尝试:
IEnumerable e = data as List<TestModel>; //Returns 0 rows
IEnumerable list = (IEnumerable)data; // returns all rows, type System.Collections.IEnumerable {System.Collections.Generic.List<ST_a048e0de86e1432d8da6f60b5d7055db.TestModel>}
List<TestModel> listtest = ((TestModel[])data).ToList() // Runtime error
List<TestModel> listtest2 = list.Cast<TestModel>().ToList(); //Runtime error - Unable to cast type 'ST_a048e0de86e1432d8da6f60b5d7055db.TestModel' to type 'SC_0573a66ec6c0486a98ee00cea4365654.TestModel'
我的最终目标是,我需要的东西我可以遍历和操纵成一个对象SSIS可以消化。这部分很容易,但是让它循环是非常困难的!
额外注:SSIS包与依赖关系真的很烦人所以真的希望避免使用任何特殊。也名称空间是从另一个100%分离,两者之间没有通信是可能的。
这有点儿工作,列表创建不运行时错误,虽然它包含0行,类似的命令列表 Test1 =数据为列表。谢谢你尝试 –
Caz1224
@ Caz1224你不能只是循环通过你的IEnumerable做你的事情? IEnumerable list =(IEnumerable)数据;为你工作的权利。你可以对它进行foreach。 –
从某种意义上说,我可以遍历列表,尽管传入循环的对象是旧类型的对象,这使我无法说itenmloop.Index或iteminloop [Index]没有任何内容,只能在整个对象上串起。 – Caz1224