Exemple #1
0
        /// <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);
        }
Exemple #2
0
        /// <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;
            }
        }