Пример #1
0
        private List <MappingInfo> GetMappingInfo(Type type, string tableName)
        {
            var mappings = NpgsqlHelper.GetMetadata(context, type);

            mappings.ForEach(x =>
            {
                var sourceAttribute = x.Property?.GetCustomAttribute <BulkMappingSourceAttribute>();
                var modifiers       = x.Property?.GetCustomAttributes <BulkOperationModifierAttribute>();

                x.ModifierAttributes    = modifiers?.ToList() ?? new List <BulkOperationModifierAttribute>();
                x.OverrideSourceMethod  = GetOverrideSouceFunc(type, sourceAttribute?.PropertyName);
                x.NpgsqlType            = GetNpgsqlType(x.ColumnInfo);
                x.TempAliasedColumnName = $"{x.TableName}_{x.ColumnInfo.ColumnName}".ToLower();
                x.QualifiedColumnName   = $"{NpgsqlHelper.GetQualifiedName(x.TableName)}.{NpgsqlHelper.GetQualifiedName(x.ColumnInfo.ColumnName)}";
            });
            return(mappings);
        }