コード例 #1
0
        protected override Expression VisitMember(MemberExpression node)
        {
            var paramter = node.GetRoot() as ParameterExpression;
            var name     = string.Join("/", node.GetMemberName());

            if (!map[paramter].SelectMembers.Any(x => x.MemberPath == name))
            {
                map[paramter].SelectMembers.Add(new SelectMember {
                    MemberPath = name, IsComplexType = !(node.Member is PropertyInfo m && m.PropertyType.IsSimpleType())
                });