Пример #1
0
        protected override MemberAssignment VisitMemberAssignment(MemberAssignment node)
        {
            var vis = new UnaryMapping();

            vis.Visit(node.Expression);
            if (vis.ColumnName != null)
            {
                var propertyInfo = node.Member as PropertyInfo;
                MappingSetters.Add(new SqlResultFieldDefinition
                {
                    ColumnName   = propertyInfo.Name,
                    PropertyInfo = propertyInfo
                });
            }
            else
            {
                var vis2 = new MappingSetterVisitor();
                vis2.Visit(node.Expression);
                MappingSetters.Add(new SqlResultFieldDefinition
                {
                    ColumnName   = vis2.ColumnName,
                    PropertyInfo = node.Member as PropertyInfo
                });
            }
            return(base.VisitMemberAssignment(node));
        }
Пример #2
0
            protected override Expression VisitUnary(UnaryExpression node)
            {
                var vis = new MappingSetterVisitor();

                vis.Visit(node.Operand);
                this.ColumnName = vis.ColumnName;
                return(null);
            }
Пример #3
0
        private SqlResultFieldDefinition GetMappingSetterDefinition(Expression argument, PropertyInfo propertyInfo)
        {
            MappingSetterVisitor vis = new MappingSetterVisitor();

            vis.Visit(argument);
            SqlResultFieldDefinition mappingSetter = new SqlResultFieldDefinition
            {
                ColumnName   = vis.ColumnName,
                PropertyInfo = propertyInfo
            };

            return(mappingSetter);
        }