/// <inheritdoc/> string IColumnMapper.MapColumn(Type type, IDataReader reader, int column) { if (reader == null) { throw new ArgumentNullException("reader"); } string columnName = reader.GetName(column); if (ColumnOverrides == null) { return(null); } // look for a match in our list var match = ColumnOverrides.SingleOrDefault( t => (t.TargetType == null || t.TargetType == type) && String.Compare(t.ColumnName, columnName, StringComparison.OrdinalIgnoreCase) == 0); // if we've entered an override and the type has a matching member, then use that if (match != null && ClassPropInfo.GetMemberByName(type, match.FieldName) != null) { return(match.FieldName); } return(null); }
/// <inheritdoc/> void IRecordStructure.MapColumn(ColumnMappingEventArgs e) { if (ColumnOverrides == null) { return; } var match = ColumnOverrides.SingleOrDefault( t => (t.TargetType == null || t.TargetType == e.TargetType) && String.Compare(t.ColumnName, e.TargetFieldName, StringComparison.OrdinalIgnoreCase) == 0); if (match != null) { e.TargetFieldName = match.FieldName; } }