title: How to seed data to a List<String> model member?
body: <p>I have an Asp.Net MVC project up and running and I'm able to seed all the data I want to the database when my model changes except for one property which is of <code>List&lt;string&gt;</code> type.</p>
  
  <p>I've isolated that test case to better show the issue.</p>
  
  <p>Lets's say I've a simple <code>Person</code> model:</p>
  
  <pre><code>class Person
  {
      public string Firstname { get; set; }
      public string Lastname { get; set; }
      public List&lt;string&gt; Children { get; set; }
  
      public string ToString()
      {
          string children = "";
  
          if (Children != null)
          {
              children = String.Join(" - ", Children.ToArray());
          }
          else
          {
              children = "none";
          }
  
          return Firstname + " " + Lastname + " -&gt; " + children;
      }
  }
  </code></pre>
  
  <p>When I use this model in an external Console application, I'm able to initialize all of its member.</p>
  
  <pre><code>class Program
  {
      static void Main(string[] args)
      {
          List&lt;Person&gt; myList = new List&lt;Person&gt; {
              new Person { Firstname = "John", Lastname = "Doe", Children = new List&lt;string&gt; { "Bob", "Monica" }},
              new Person { Firstname = "Bob", Lastname = "Doe", Children = new List&lt;string&gt; { "Jack", "John II" }},
              new Person { Firstname = "Monica", Lastname = "Doe", Children = new List&lt;string&gt; { "Sue", "Mark" }}
          };
  
          // output the list to screen
          myList.ForEach(p =&gt; Console.WriteLine(p.ToString()));
      }
  }
  </code></pre>
  
  <p>The output is then as expected:</p>
  
  <pre><code>John Doe -&gt; Bob - Monica
  Bob Doe -&gt; Jack - John II
  Monica Doe -&gt; Sue - Mark
  </code></pre>
  
  <p>But now when I try to seed the same data into my database, the <code>Children</code> member is <code>null</code> !</p>
  
  <p>Here is how I'm trying to do it:</p>
  
  <pre><code>public class MySeedData : DropCreateDatabaseIfModelChanges&lt;MyDataBaseContextClass&gt;
  {
      protected override void Seed(MyDataBaseContextClass context)
      {
          List&lt;Person&gt; myList = new List&lt;Person&gt; {
              new Person { Firstname = "John", Lastname = "Doe", Children = new List&lt;string&gt; { "Bob", "Monica" }},
              new Person { Firstname = "Bob", Lastname = "Doe", Children = new List&lt;string&gt; { "Jack", "John II" }},
              new Person { Firstname = "Monica", Lastname = "Doe", Children = new List&lt;string&gt; { "Sue", "Mark" }}
          };
          myList.ForEach(p =&gt; context.Persons.Add(p));
      }
  }
  </code></pre>
  
  <p>I've tried a lot of different construction patterns but every time the <code>Children</code> member is <code>null</code> whenever I try to access it in one of my Views.</p>
  
  <p>At the moment, the only way I've found to have this member being not null is to initialize the list in the default constructor of the <code>Person</code> class...</p>
  
  <p>So how can I seed data to this <code>Children</code> member with different values for each person?</p>