public static BulkAddColumnList <T> DetectColumnWithCustomColumnName <T>(this BulkAddColumnList <T> bulk) { foreach (var property in typeof(T).GetProperties()) { var attrs = property.GetCustomAttributes(typeof(ColumnAttribute), true); if (!attrs.Any()) { continue; } var columnAttribute = attrs.First() as ColumnAttribute; if (!string.IsNullOrEmpty(columnAttribute?.Name)) { bulk.CustomColumnMapping(ExpressionUtils.ToLambda <T, object>(property.Name), columnAttribute.Name); } } return(bulk); }
public static BulkAddColumnList <T> RemoveNotMappedColumns <T>(this BulkAddColumnList <T> bulk) { foreach (var property in typeof(T).GetProperties()) { var attrs = property.GetCustomAttributes(typeof(NotMappedAttribute), true); if (!attrs.Any()) { continue; } var columnName = ExpressionUtils.ToLambda <T, object>(property.Name); try { bulk.RemoveColumn(columnName); } catch (Exception e) { } } return(bulk); }