Signum.Engine.Linq.ColumnGenerator.NewColumn C# (CSharp) Method

NewColumn() public method

public NewColumn ( Expression exp ) : ColumnDeclaration
exp System.Linq.Expressions.Expression
return ColumnDeclaration
        public ColumnDeclaration NewColumn(Expression exp)
        {
            string columnName = GetNextColumnName();
            var result = new ColumnDeclaration(columnName, exp);
            columns.Add(result.Name, result);
            return result; 
        }

Usage Example

Exemplo n.º 1
0
        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::NewColumn