title: How to reset SQL table-data while in transaction
body: <p>Code:</p>
  
  <p><strong>BusinessLayer</strong>:</p>
  
  <pre><code> // an array of type int with 3 values is present
   foreach(var item in list)
   {
     //Pseudocode incoming
     Query_DoSomethingWithItem(item.Identifier, myArray)
   }
  </code></pre>
  
  <p><strong>DAL</strong>:</p>
  
  <pre><code> DoSomethingWithItem(long id, int[] theArray)
   {
      using(var scope = new TransactionScope()
      {
         // using SqlConnection
  
         // fill command-parameter which makes use of a user-defined-table, which represents an array of integers.
         // Important: The underlying stored_proc WRITES to database
  
         conn.Open();
         command.ExecuteNonQuery();
         scope.Complete();
      }
   }
  </code></pre>
  
  <p>=> The problem is, it runs perfectly in the first run-through, but in the second, the UDT array-of-int is already filled with values from first execution.</p>
  
  <p>How to reset the data of the UDT after first run?</p>
  
  <p>I tried with TransactionScope.RequiresNew but makes no difference.</p>
  
  <p><strong>Edit: This is what I am trying to achieve:</strong></p>
  
  <p>Table: Objects [ObjectId, ...]</p>
  
  <p>Table: Items   [ObjectId(FK), Index]</p>
  
  <p>UDT: IntegerArrray</p>
  
  <p>N Items can belong to 1 Object.</p>