Example #1
0
        public void Prepare_returns_a_new_instance()
        {
            var objectQueryExecutionPlanFactory = new ObjectQueryExecutionPlanFactory(
                Common.Internal.Materialization.MockHelper.CreateTranslator <object>());

            var edmItemCollection       = new EdmItemCollection();
            var fakeSqlProviderManifest = FakeSqlProviderServices.Instance.GetProviderManifest("2008");
            var storeItemCollection     = new StoreItemCollection(FakeSqlProviderFactory.Instance, fakeSqlProviderManifest, "System.Data.SqlClient", "2008");
            var mappingItemCollection   = new StorageMappingItemCollection(edmItemCollection, storeItemCollection, Enumerable.Empty <XmlReader>());

            var metadataWorkspace = new MetadataWorkspace(
                () => edmItemCollection,
                () => storeItemCollection,
                () => mappingItemCollection);

            var fakeSqlConnection = new FakeSqlConnection();

            fakeSqlConnection.ConnectionString = "foo";
            var entityConnection = new EntityConnection(metadataWorkspace, fakeSqlConnection, false);

            var objectContext      = new ObjectContext(entityConnection);
            var dbExpression       = new DbNullExpression(TypeUsage.Create(fakeSqlProviderManifest.GetStoreTypes().First()));
            var dbQueryCommandTree = new DbQueryCommandTree(
                metadataWorkspace, DataSpace.CSpace,
                dbExpression, validate: false, useDatabaseNullSemantics: true);
            var parameters = new List <Tuple <ObjectParameter, QueryParameterExpression> >();

            var objectQueryExecutionPlan = objectQueryExecutionPlanFactory.Prepare(
                objectContext, dbQueryCommandTree, typeof(object),
                MergeOption.NoTracking, false, new Span(), parameters, aliasGenerator: null);

            Assert.NotNull(objectQueryExecutionPlan);
        }
Example #2
0
        public override void Visit(DbNullExpression e)
        {
            Check.NotNull(e, "e");

            Begin(e);
            End(e);
        }
        public void Prepare_returns_a_new_instance()
        {
            var objectQueryExecutionPlanFactory = new ObjectQueryExecutionPlanFactory(
                Common.Internal.Materialization.MockHelper.CreateTranslator<object>());

            var metadataWorkspace = new MetadataWorkspace();
            var edmItemCollection = new EdmItemCollection();
            metadataWorkspace.RegisterItemCollection(edmItemCollection);
            metadataWorkspace.RegisterItemCollection(new ObjectItemCollection());
            var fakeSqlProviderManifest = new FakeSqlProviderServices().GetProviderManifest("2008");
            var storeItemCollection = new StoreItemCollection(FakeSqlProviderFactory.Instance, fakeSqlProviderManifest, "2008");
            metadataWorkspace.RegisterItemCollection(storeItemCollection);
            metadataWorkspace.RegisterItemCollection(new StorageMappingItemCollection(edmItemCollection, storeItemCollection, Enumerable.Empty<XmlReader>()));

            var fakeSqlConnection = new FakeSqlConnection();
            fakeSqlConnection.ConnectionString = "foo";
            var entityConnection = new EntityConnection(metadataWorkspace, fakeSqlConnection, false);

            var objectContext = new ObjectContext(entityConnection);
            var dbExpression = new DbNullExpression(TypeUsage.Create(fakeSqlProviderManifest.GetStoreTypes().First()));
            var dbQueryCommandTree = new DbQueryCommandTree(metadataWorkspace, DataSpace.CSpace,
               dbExpression, validate: false);
            var parameters = new List<Tuple<ObjectParameter, QueryParameterExpression>>();

            var objectQueryExecutionPlan = objectQueryExecutionPlanFactory.Prepare(objectContext, dbQueryCommandTree, typeof(object),
                MergeOption.NoTracking, new Span(), parameters, aliasGenerator: null);

            Assert.NotNull(objectQueryExecutionPlan);
        }
        public override void Visit(DbNullExpression e)
        {
            Check.NotNull(e, "e");

            _key.Append("NULL:");
            _key.Append(e.ResultType.Identity);
        }
            /// <summary>
            /// Evaluates a null expression (trivial: the result is the null expression)
            /// </summary>
            /// <param name="node">Null expression node.</param>
            /// <returns>Null expression</returns>
            public override PropagatorResult Visit(DbNullExpression node)
            {
                Debug.Assert(null != node, "node is not visited when null");

                // Flag the expression as 'preserve', since nulls (by definition) cannot vary
                PropagatorResult result = PropagatorResult.CreateSimpleValue(PropagatorFlags.Preserve, null);

                return(result);
            }
            /// <summary>
            ///     Evaluates a null expression (trivial: the result is the null expression)
            /// </summary>
            /// <param name="node"> Null expression node. </param>
            /// <returns> Null expression </returns>
            public override PropagatorResult Visit(DbNullExpression node)
            {
                Check.NotNull(node, "node");

                // Flag the expression as 'preserve', since nulls (by definition) cannot vary
                var result = PropagatorResult.CreateSimpleValue(PropagatorFlags.Preserve, null);

                return(result);
            }
Example #7
0
 public override DbExpression Visit(DbNullExpression expression)
 {
     if (this._currentProperty != null)
     {
         Tuple <FunctionParameter, bool> parameter = this.GetParameter(this._currentProperty, false);
         if (parameter != null)
         {
             return((DbExpression) new DbParameterReferenceExpression(parameter.Item1.TypeUsage, parameter.Item1.Name));
         }
     }
     return(base.Visit(expression));
 }
        public override DbExpression Visit(DbNullExpression expression)
        {
            DebugCheck.NotNull(expression);

            if (_currentProperty != null)
            {
                var parameter = GetParameter(_currentProperty);

                if (parameter != null)
                {
                    return(new DbParameterReferenceExpression(parameter.Item1.TypeUsage, parameter.Item1.Name));
                }
            }

            return(base.Visit(expression));
        }
Example #9
0
 public override TReturn Visit(DbNullExpression expression)
 {
     Check.NotNull <DbNullExpression>(expression, nameof(expression));
     throw this.ConstructNotSupportedException((DbExpression)expression);
 }
Example #10
0
 public override Expression Visit(DbNullExpression expression)
 {
     return(Expression.Constant(null, edmTypeConverter.Convert(expression.ResultType)));
 }
Example #11
0
 /// <summary>
 /// Implements the visitor pattern for <see cref="T:System.Data.Common.CommandTrees.DbNullExpression"/>.
 /// </summary>
 /// <param name="expression">The <see cref="T:System.Data.Common.CommandTrees.DbNullExpression"/> that is visited.</param>
 public override void Visit(DbNullExpression expression)
 {
 }
Example #12
0
 public override TreeNode Visit(DbNullExpression e)
 {
     Check.NotNull <DbNullExpression>(e, nameof(e));
     return(new TreeNode("null", new TreeNode[0]));
 }
Example #13
0
 public override SqlFragment Visit(DbNullExpression expression)
 {
     return(new LiteralFragment("NULL"));
 }
 public override void Visit(DbNullExpression expression)
 {
     this._commandText.Append("null");
 }
Example #15
0
 public override void Visit(DbNullExpression e)
 {
     Check.NotNull <DbNullExpression>(e, nameof(e));
     this._key.Append("NULL:");
     this._key.Append(e.ResultType.Identity);
 }
Example #16
0
 public override VisitedExpression Visit(DbNullExpression expression)
 {
     // must provide a NULL of the correct type
     // this is necessary for certain types of union queries.
     return(new CastExpression(new LiteralExpression("NULL"), GetDbType(expression.ResultType.EdmType)));
 }
 public override void Visit(DbNullExpression e)
 {
     Begin(e);
     End(e);
 }
Example #18
0
 /// <summary>
 ///     Visitor pattern method for DbNullExpression.
 /// </summary>
 /// <param name="expression"> The DbNullExpression that is being visited. </param>
 public abstract void Visit(DbNullExpression expression);
Example #19
0
            public override DbExpressionEntitySetInfo Visit(DbNullExpression expression)
            {
                Check.NotNull(expression, "expression");

                return(null);
            }
Example #20
0
 public override VfpExpression Visit(DbNullExpression expression)
 {
     return(new VfpNullExpression(expression.ResultType));
 }
Example #21
0
 /// <summary>
 ///     Typed visitor pattern method for DbNullExpression.
 /// </summary>
 /// <param name="expression"> The DbNullExpression that is being visited. </param>
 /// <returns> An instance of TResultType. </returns>
 public abstract TResultType Visit(DbNullExpression expression);
 public override Expression Visit(DbNullExpression expression)
 {
     return Expression.Constant(null, edmTypeConverter.Convert(expression.ResultType));
 }
Example #23
0
 public override bool Visit(DbNullExpression expression)
 {
     return(false);
 }
 public override TReturn Visit(DbNullExpression expression)
 {
     throw ConstructNotSupportedException(expression);
 }
Example #25
0
        public override LegacyCommandTrees.DbExpression Visit(DbNullExpression expression)
        {
            Debug.Assert(expression != null, "expression != null");

            return(GetLegacyTypeUsage(expression.ResultType).Null());
        }
Example #26
0
            public override TreeNode Visit(DbNullExpression e)
            {
                Check.NotNull(e, "e");

                return(new TreeNode("null"));
            }
 /// <summary>
 ///     Visitor pattern method for <see cref="DbNullExpression" />.
 /// </summary>
 /// <param name="expression"> The DbNullExpression that is being visited. </param>
 /// <exception cref="ArgumentNullException">
 ///     <paramref name="expression" />
 ///     is null
 /// </exception>
 public override void Visit(DbNullExpression expression)
 {
     // #433613: PreSharp warning 56506: Parameter 'expression' to this public method must be validated: A null-dereference can occur here.
     Check.NotNull(expression, "expression");
 }
 /// <summary>
 ///     Visitor pattern method for DbNullExpression.
 /// </summary>
 /// <param name="expression"> The DbNullExpression that is being visited. </param>
 public abstract void Visit(DbNullExpression expression);
		public override void Visit(DbNullExpression expression)
		{
			commandText.Append("NULL");
		}
 public override void Visit(DbNullExpression expression)
 {
     Contract.Requires(expression != null);
 }
 public override void Visit(DbNullExpression expression)
 {
     _commandText.Append("NULL");
 }
Example #32
0
 public override bool Visit(DbNullExpression expression)
 {
     Check.NotNull <DbNullExpression>(expression, nameof(expression));
     return(false);
 }
 public override void Visit(DbNullExpression e)
 {
     _key.Append("NULL:");
     _key.Append(e.ResultType.Identity);
 }
Example #34
0
 public override DbExpressionEntitySetInfo Visit(DbNullExpression expression)
 {
     return(null);
 }
            public override void Visit(DbNullExpression expression)
            {
                Check.NotNull(expression, "expression");

                _commandText.Append("null");
            }
 /// <summary>
 ///     Visitor pattern method for <see cref="DbNullExpression" />.
 /// </summary>
 /// <param name="expression"> The DbNullExpression that is being visited. </param>
 /// <exception cref="ArgumentNullException">
 ///     <paramref name="expression" />
 ///     is null
 /// </exception>
 public override void Visit(DbNullExpression expression)
 {
     Check.NotNull(expression, "expression");
 }
Example #37
0
 public override ISqlFragment Visit(DbNullExpression e)
 {
     // always cast nulls - sqlserver doesn't like case expressions where the "then" clause is null
     return(new SqlBuilder("cast(null as ", MetadataHelpers.GetSqlPrimitiveType(e.ResultType), ")"));
 }
 public override void Visit(DbNullExpression expression) { }
Example #39
0
            public override void Visit(DbNullExpression expression)
            {
                Check.NotNull(expression, "expression");

                _commandText.AppendKeyword("null");
            }
Example #40
0
 public override object Visit(DbNullExpression expression)
 {
     return(null);
 }
Example #41
0
 public override VisitedExpression Visit(DbNullExpression expression)
 {
     // must provide a NULL of the correct type
     // this is necessary for certain types of union queries.
     return new CastExpression(new LiteralExpression("NULL"), GetDbType(expression.ResultType.EdmType));
 }
Example #42
0
 public override void Visit(DbNullExpression expression)
 {
     Write(expression);
 }
 public override void Visit(DbNullExpression expression)
 {
     _commandText.Append("null");
 }
        public override void Visit(DbNullExpression e)
        {
            Check.NotNull(e, "e");

            Begin(e);
            End(e);
        }