title: WebAPI Modelbinding - [FromUri] not working on enumerations of Guids
body: <p>I'm trying to build an RESTApi-endpoint where the users can send multiple ids to filter for specific resources.</p>
  
  <p>Therefore I've created an request-object which can be reused inside my own project to keep things simple (at least for me).</p>
  
  <p>When building the GET-calls QueryString, I check the request-ojects properties for beeing an <code>IEnumerable</code>. If so, I'll append the values as following:</p>
  
  <pre><code>var collection = new NameValueCollection();
  foreach (var pi in request.GetType().GetProperties().Where(p =&gt; p.CanRead &amp;&amp; p.CanWrite))
  {
      var propVal = pi.GetValue(request, null);
      if (propVal == null)
          continue;
  
      if (pi.PropertyType.IsArray || typeof(IEnumerable).IsAssignableFrom(pi.PropertyType))
      {
          var enumerable = propVal as IEnumerable;
          if (enumerable != null)
          {
              foreach (var singleValue in enumerable)
              {
                  collection.Add(pi.Name, singleValue.ToString());
              }
          }
      }
      else
      {
          collection.Add(pi.Name, propVal.ToString());
      }
  }
  return collection;
  </code></pre>
  
  <p>which will build me something like e.g.</p>
  
  <blockquote>
    <p><a href="http://localhost/API/Reporting/EndPoint?Ids=b94a3f1b-15cd-4feb-ac34-bd58bc1c3c2b,77dc84ac-4d48-4cbd-ba12-9de3108a5747" rel="nofollow">http://localhost/API/Reporting/EndPoint?Ids=b94a3f1b-15cd-4feb-ac34-bd58bc1c3c2b,77dc84ac-4d48-4cbd-ba12-9de3108a5747</a></p>
  </blockquote>
  
  <p>The endpoint accepts the request-object building it from the uri using the <code>[FromUri]</code> attribute.</p>
  
  <pre><code>public TheResponse EndPoint([FromUri] TheRequest request)
  </code></pre>
  
  <p>whereas <code>TheRequest</code> has a property of type <code>IEnumerable&lt;Guid&gt; Ids {get;set;}</code>.</p>
  
  <p>However, the Ids property is always an Empty array with an empty <code>Guid</code>.</p>
  
  <p>How can this be achieved? Do I need custom model-binding here?</p>
  
  <p>As requested, this is how my request-object looks like:</p>
  
  <pre><code>public class TheRequest
  {
      public IEnumerable&lt;Guid&gt; Ids { get; set; }
  }
  </code></pre>