title: Azure Mobile Services - Passing arrays through Custom Parameters
body: <p>I'm using Azure Mobile Services with a C# client. I have a table of "Scores" that have a Facebook Id for each score. What I need to do is pass in an array of friends for a user and return all scores in that list of friends.</p>
  
  <p>So I tried this on the client:</p>
  
  <pre><code>        return _client.GetTable&lt;Score&gt;().WithParameters(new Dictionary&lt;string, string&gt;
          {
              { "Level", level.ToString() },
              //aggregate our string[] to a comma-delimited string
              { "Friends", friends.Aggregate(new StringBuilder(), (b, s) =&gt; b.Append(s).Append(',')).ToString() }
  
          }).ToListAsync();
  </code></pre>
  
  <p>Which is weird I only have the option to pass in strings for custom parameters.</p>
  
  <p>So I did this on the server's read:</p>
  
  <pre><code>function read(query, user, request) {
  
      query.where({ Level: request.parameters.Level, UserId: request.parameters.Friends.split(',') });
  
      request.execute();
  }
  </code></pre>
  
  <p>It doesn't seem like a comma-delimited list is going to work. I get this error on the server:</p>
  
  <pre><code>Error in script '/table/Score.read.js'. Error: Unsupported literal value chucknorris,bobloblaw,
  </code></pre>
  
  <p>NOTE: I passed <code>chucknorris</code> and <code>bobloblaw</code> as Facebook ids for a test.</p>
  
  <p>Is there another way to make this work? The "Level" value filters just fine if I take out the string delimited stuff.</p>