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)); } }); }
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)); } }); }