Ejemplo n.º 1
0
        public void MaxParameterCountTest()
        {
            Utility.CommitTest(CreateSimpleContext(), db =>
            {
                var con = db.Database.Connection;
                if (con.State != System.Data.ConnectionState.Open)
                {
                    con.Open();
                }
                var com               = con.CreateCommand();
                com.Transaction       = db.Database.Transaction;
                StringBuilder builder = new StringBuilder();
                builder.Append(MaxParameterCountTestSql);
                builder.Append("(");
                for (int i = 0; i < MaxParameterCount; i++)
                {
                    com.AddParameter("p" + i.ToString(), i);
                    if (i == 0)
                    {
                        builder.Append(ParameterPrefix + i.ToString());
                    }
                    else
                    {
                        builder.Append("," + ParameterPrefix + i.ToString());
                    }
                }
                builder.Append(")");

                com.CommandText = builder.ToString();
                com.ExecuteNonQuery();
                com.AddParameter("p" + MaxParameterCount.ToString(), MaxParameterCount);

                builder.Insert(builder.Length - 1, "," + ParameterPrefix + MaxParameterCount.ToString());
                com.CommandText = builder.ToString();
                try
                {
                    com.ExecuteNonQuery();
                    if (HasMaxParameterCount)
                    {
                        Assert.Fail();
                    }
                }
                catch (Exception e)
                {
                    Assert.IsInstanceOfType(e, typeof(DbException));
                }
            });
        }
Ejemplo n.º 2
0
        public void MaxParameterCountTest()
        {
            Utility.CommitTest(CreateSimpleContext(), db =>
            {
                var con = db.Database.Connection;
                con.Open();
                var com = con.CreateCommand();
                StringBuilder builder = new StringBuilder();
                builder.Append("SELECT * FROM Customers WHERE Id IN (");
                for (int i = 0; i < MaxParameterCount; i++)
                {
                    com.AddParameter("p" + i.ToString(), i);
                    if (i == 0)
                    {
                        builder.Append("@p" + i.ToString());
                    }
                    else
                    {
                        builder.Append(",@p" + i.ToString());
                    }
                }
                builder.Append(");");

                com.CommandText = builder.ToString();
                com.ExecuteNonQuery();
                com.AddParameter("p" + MaxParameterCount.ToString(), MaxParameterCount);

                builder.Insert(builder.Length - 2, ",@p" + MaxParameterCount.ToString());
                com.CommandText = builder.ToString();
                try
                {
                    com.ExecuteNonQuery();
                    if (HasMaxParameterCount)
                    {
                        Assert.Fail();
                    }
                }
                catch (Exception e)
                {
                    Assert.IsInstanceOfType(e, typeof(DbException));
                }
            });
        }