Signum.Engine.Linq.ColumnGenerator.MapColumn C# (CSharp) Méthode

MapColumn() public méthode

public MapColumn ( ColumnExpression ce ) : ColumnDeclaration
ce ColumnExpression
Résultat ColumnDeclaration
        public ColumnDeclaration MapColumn(ColumnExpression ce)
        {
            string columnName = GetUniqueColumnName(ce.Name);
            var result = new ColumnDeclaration(columnName, ce);
            columns.Add(result.Name, result);
            return result; 
        }

Usage Example

        public override Expression?Visit(Expression?expression)
        {
            if (this.candidates.Contains(expression !))
            {
                if (expression is ColumnExpression column)
                {
                    if (!projectTrivialColumns)
                    {
                        return(expression);
                    }

                    if (this.map.TryGetValue(column, out var mapped))
                    {
                        return(mapped);
                    }

                    mapped           = generator.MapColumn(column).GetReference(newAlias);
                    this.map[column] = mapped;
                    return(mapped);
                }
                else
                {
                    if (expression !.Type.UnNullify().IsEnum)
                    {
                        var convert = expression.TryConvert(expression.Type.IsNullable() ? typeof(int?) : typeof(int));

                        return(generator.NewColumn(convert).GetReference(newAlias).TryConvert(expression.Type));
                    }
All Usage Examples Of Signum.Engine.Linq.ColumnGenerator::MapColumn