protected void AddDefaultColumnMappings <TOperationEntity>( List <ColumnMapping <TOperationEntity> > mappings) where TOperationEntity : class { var ignoredProperties = IgnoredColumns.Select(x => x.Name).ToList(); ignoredProperties.AddRange(mappings .Where(x => !x.IsPrimaryKey) .Select(x => { var memberExpression = (x.SourceExpression.Body is UnaryExpression unaryExpression) ? unaryExpression.Operand as MemberExpression : x.SourceExpression.Body as MemberExpression; return(memberExpression?.Member.Name); }) .Where(x => !string.IsNullOrEmpty(x))); var columns = typeof(TEntity) .GetProperties() .Where(x => !ignoredProperties.Contains(x.Name)) .ToList(); if (KeyColumnMapping != null) { var keyExpression = (KeyColumnMapping.Body is UnaryExpression unaryExpression) ? unaryExpression.Operand as MemberExpression : KeyColumnMapping.Body as MemberExpression; columns.RemoveAll(x => x.Name == keyExpression.Member.Name); } ColumnMappings.AddRange(columns.Select(MakeColumnExpression <TEntity>)); }
public DataTableMapping(string?sourceTable, string?dataSetTable, DataColumnMapping[]?columnMappings) { SourceTable = sourceTable; DataSetTable = dataSetTable; if ((null != columnMappings) && (0 < columnMappings.Length)) { ColumnMappings.AddRange(columnMappings); } }
public BulkCopyDataReader(List <T> data) : base(data) { ColumnMappings.AddRange(_PropertyInfos.Select(i => new SqlBulkCopyColumnMapping(i.Name, i.Name))); }