title: A list of GUIDs is empty when passed into a model which is used by [FromForm] in ASP.NET Core 2.2
body: <p><strong>EDIT:</strong></p>
  
  <p><strong>THE ISSUE LIES WITH SWAGGER. SEE THE ANSWER FOR MY OWN FIX.</strong></p>
  
  <p>I am currently experiencing some issues with passing a list of GUID's to a controller action by using HTTP POST and <code>[FromForm]</code>.</p>
  
  <p>The list of guids is EMPTY. If I try to turn it into a list of strings, instead of having 3 values, only 1 value is seen in the list and it is a string that contains the 3 values but comma seperated.</p>
  
  <p>The reason why I use [FromForm] is because I need to upload a file but ALSO pass some other data to the action.</p>
  
  <p>I have created a sample project which uses swagger when you use Kestrel to debug the application. </p>
  
  <p>The <code>bug</code> endpoint expects a list of GUIDs and a list of strings and outputs the things you post. When you post 2 guids and 2 strings, you should expect both of them to be printed. In this case, 0 guids are found and printed and 1 string is printed which contains the values you posted but comma seperated.<br>
  The <code>works</code> endpoint uses [FromBody] and works fine.</p>
  
  <p>Here's the project: <a href="https://github.com/sander1095/FromFormGuidListBug" rel="nofollow noreferrer">https://github.com/sander1095/FromFormGuidListBug</a></p>
  
  <p>For the people that do not want to see the project:</p>
  
  <p>Controller:</p>
  
  <pre><code>[HttpPost("bug")]
  public ActionResult&lt;string&gt; Bug([FromForm] BugModel bugModel)
  {
      var message = GetMessage(bugModel);
  
      return Ok(message);
  }
  </code></pre>
  
  <p>Model:</p>
  
  <pre><code>public class BugModel
  {
      /// &lt;summary&gt;
      /// If you send a GUID it will not appear in this list
      /// &lt;/summary&gt;
      public IEnumerable&lt;Guid&gt; Ids { get; set; }
  
  
      /// &lt;summary&gt;
      /// If you send 3 strings, the list will contain 1 entry with the 3 string comma separated.
      /// &lt;/summary&gt;
      public IEnumerable&lt;string&gt; IdsAsStringList { get; set; }
  }
  </code></pre>
  
  <p>CURL call: <code>curl -X POST "https://localhost:5001/api/Bug/bug" -H "accept: text/plain" -H "Content-Type: multipart/form-data" -F "Ids="9dfb212a-a215-4991-9452-3ddf90e21ec0","9dfb212a-a215-4991-9452-3ddf90e21ec0"" -F "IdsAsStringList="9dfb212a-a215-4991-9452-3ddf90e21ec0","9dfb212a-a215-4991-9452-3ddf90e21ec0""</code></p>
  
  <p>RESULT:</p>
  
  <p><strong><code>Ids</code> is empty while <code>IdsAsStringList</code> contains 1 value (instead of 2) which is the 2 strings passsed into 1 comma seperated value.</strong></p>