title: what does the model.generated.cs file do in Umbraco?
body: <p>Exploring Umbraco 8 and playing around building a test site etc. </p>
  
  <p>Building document types and content pages via the back office interface, and looking in the code itself I've noticed a files called models.generated.cs. </p>
  
  <p>looking inside, it contains partial classes like <code>public partial class AndyTestPage : PublishedContentModel { }</code> and properties I've given it like
   <code>[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Umbraco.ModelsBuilder", "8.5.5")]
          [ImplementPropertyType("andyProperty1")]
          public string AndyProperty1 =&gt; this.Value&lt;string&gt;("andyProperty1");</code></p>
  
  <p>my question is, what exactly is the point of this file? what does is do and how are these properties and classes created in here via the backoffice cms. </p>
  
  <p>second question is, how would I go about creating a document type, and properties from code? my noob assumption is to simply add the classes in the this file, but that doesnt seem right?</p>
  
  <p>Thanks, </p>
  
  <p>Andy </p>