public void Init(IDataReader rdr) { DataHelper.EnsureDataTableColumnsByReader(Result, rdr); var tblColToIdx = new Dictionary<string, int>(Result.Columns.Count); for (int i = 0; i < Result.Columns.Count; i++) tblColToIdx[Result.Columns[i].ColumnName] = i; RdrIdxToTblIdx = new int[rdr.FieldCount]; for (int i = 0; i < rdr.FieldCount; i++) { RdrIdxToTblIdx[i] = tblColToIdx[rdr.GetName(i)]; } Result.BeginLoadData(); }