使用者定義資料表類型 (User-defined Table Type)
CREATE TYPE [dbo].[UserDefinedTableType] AS TABLE(
Col1 char(4) NOT NULL,
Col2 char(16) NOT NULL,
Col3 int NOT NULL
)
該 case 是使用 FastMember ObjectReader 把 List<T>事先定義欄位順序:在 class 上指定 FastMember.OrdinalAttribute 定義轉換後欄位順序,詳見 [C#] FastMember-ObjectReader - 事後調整欄位順序:產生 DataTable 後,透過 DataColumn.SetOrdinal() 調整 DataTable 欄位順序
// ToDataTable() 則是封裝好的 FastMember ObjectReader 轉換功能
DataTable dt = List<T>.ToDataTable();
dt.Columns[Col1].SetOrdinal(0);
dt.Columns[Col2].SetOrdinal(1);
dt.Columns[Col3].SetOrdinal(2);

沒有留言:
張貼留言