背景:對象列出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