title: Error in MongoDB when using C# driver to deserialize a nested class
body: <p>Usually when I store an object into my collection and add a new property to my object, the mongodb C# driver will use a default value when the property isn't found in MongoDB. However, when I have a nested class, the official MongoDB C# driver doesn't seem to handle it the same way. See sample code:</p>
  
  <pre><code>MongoCollection&lt;Person&gt; peopleCollection = fd.GetCollection&lt;Person&gt;("peopledb");
  Person p = peopleCollection.FindOne(); //errors here w/ Type Cast Exception
  </code></pre>
  
  <p>Happens when I add a new member to a nested class:</p>
  
  <pre><code>class Address {
      string street;
      string zip;
      string state; //newly added member, causing deserialization errors/cast exceptions
  }
  
  class Person {
      ObjectId _id;
      string firstname;
      string lastname;
      Address personAddress;
  }
  </code></pre>
  
  <p>In this case, when I do a FindOneAs, it will error out because Person.personAddress.state doesn't exist.</p>
  
  <p>Does anybody know how I can make the deserializer also deserialize nested classes the same way?</p>