Beispiel #1
0
        public override void Visit(GetEntityRefOp op, System.Data.Entity.Core.Query.InternalTrees.Node n)
        {
            ScalarOp op1 = n.Child0.Op as ScalarOp;

            System.Data.Entity.Core.Query.PlanCompiler.PlanCompiler.Assert(op1 != null, "input to GetEntityRefOp is not a ScalarOp?");
            PropertyRefList identityProperties = PropertyPushdownHelper.GetIdentityProperties(TypeHelpers.GetEdmType <EntityType>(op1.Type));

            this.AddPropertyRefs(n.Child0, identityProperties);
            this.VisitNode(n.Child0);
        }
        /// <summary>
        /// GetEntityRefOp handling
        ///
        /// Ask for the "identity" properties from the input entity, and push that
        /// down to my child
        /// </summary>
        /// <param name="op"></param>
        /// <param name="n"></param>
        public override void Visit(GetEntityRefOp op, Node n)
        {
            ScalarOp childOp = n.Child0.Op as ScalarOp;

            PlanCompiler.Assert(childOp != null, "input to GetEntityRefOp is not a ScalarOp?");

            //
            md.EntityType entityType = TypeHelpers.GetEdmType <md.EntityType>(childOp.Type);

            PropertyRefList desiredProperties = GetIdentityProperties(entityType);

            AddPropertyRefs(n.Child0, desiredProperties);

            VisitNode(n.Child0);
        }
Beispiel #3
0
        public override void Visit(GetEntityRefOp op, Node n)
        {
            var childOp = n.Child0.Op as ScalarOp;

            PlanCompiler.Assert(childOp != null, "input to GetEntityRefOp is not a ScalarOp?");

            // bug 428542 - the child is of the entity type; not this op
            var entityType = TypeHelpers.GetEdmType <md.EntityType>(childOp.Type);

            var desiredProperties = GetIdentityProperties(entityType);

            AddPropertyRefs(n.Child0, desiredProperties);

            VisitNode(n.Child0);
        }
 /// <summary>
 ///     GetEntityKeyOp
 /// </summary>
 /// <param name="op"> </param>
 /// <param name="n"> </param>
 /// <returns> </returns>
 public override Node Visit(GetEntityRefOp op, Node n)
 {
     return FlattenGetKeyOp(op, n);
 }
Beispiel #5
0
 /// <summary>
 /// Copies a GetEntityRefOp
 /// </summary>
 /// <param name="op">The Op to Copy</param>
 /// <param name="n">The Node that references the Op</param>
 /// <returns>A copy of the original Node that references a copy of the original Op</returns>
 public override Node Visit(GetEntityRefOp op, Node n)
 {
     return(CopyDefault(m_destCmd.CreateGetEntityRefOp(op.Type), n));
 }
 /// <summary>
 ///     Visitor pattern method for GetEntityRefOp
 /// </summary>
 /// <param name="op"> The GetEntityRefOp being visited </param>
 /// <param name="n"> The Node that references the Op </param>
 public virtual void Visit(GetEntityRefOp op, Node n)
 {
     VisitScalarOpDefault(op, n);
 }
        public override void Visit(GetEntityRefOp op, Node n)
        {
            var childOp = n.Child0.Op as ScalarOp;
            PlanCompiler.Assert(childOp != null, "input to GetEntityRefOp is not a ScalarOp?");

            // bug 428542 - the child is of the entity type; not this op
            var entityType = TypeHelpers.GetEdmType<md.EntityType>(childOp.Type);

            var desiredProperties = GetIdentityProperties(entityType);
            AddPropertyRefs(n.Child0, desiredProperties);

            VisitNode(n.Child0);
        }
Beispiel #8
0
 // <summary>
 // Copies a GetEntityRefOp
 // </summary>
 // <param name="op"> The Op to Copy </param>
 // <param name="n"> The Node that references the Op </param>
 // <returns> A copy of the original Node that references a copy of the original Op </returns>
 public override Node Visit(GetEntityRefOp op, Node n)
 {
     return CopyDefault(m_destCmd.CreateGetEntityRefOp(op.Type), n);
 }
        /// <summary>
        /// GetEntityRefOp handling 
        /// 
        /// Ask for the "identity" properties from the input entity, and push that
        /// down to my child
        /// </summary>
        /// <param name="op"></param>
        /// <param name="n"></param>
        public override void Visit(GetEntityRefOp op, Node n)
        {
            ScalarOp childOp = n.Child0.Op as ScalarOp;
            PlanCompiler.Assert(childOp != null, "input to GetEntityRefOp is not a ScalarOp?");

            // 
            md.EntityType entityType = TypeHelpers.GetEdmType<md.EntityType>(childOp.Type);

            PropertyRefList desiredProperties = GetIdentityProperties(entityType);
            AddPropertyRefs(n.Child0, desiredProperties);

            VisitNode(n.Child0);
        }