title: What is the proper usage of HasColumnType and Database generated
body: <p>I'm migrating a substantial EF model of ~80 entites from EF4 to EF6, and I'm also changing it from a Designer EDMX-generated database, to a Code First database.</p>
  
  <p>Right now I'm configuring the entity relationships using EF fluent-api, and I'm not certain I'm doing it correctly.</p>
  
  <p>It's type in the SQL Server database is <code>varchar(50)</code>, so should I be configuring it like this? </p>
  
  <pre><code>        mb.Entity&lt;SomeObject&gt;()
              .Property(so =&gt; so.Type)
              .IsUnicode(false)
              .HasColumnName("Type")
              .HasColumnType("varchar")
              .HasMaxLength(50)
              .IsRequired()
              .HasDatabaseGeneratedOption(DatabaseGeneratedOption.None);
  </code></pre>
  
  <p>or like this, without the <code>HasMaxLength(50)</code>?</p>
  
  <pre><code>        mb.Entity&lt;SomeObject&gt;()
              .Property(crt =&gt; crt.Type)
              .IsUnicode(false)
              .HasColumnName("Type")
              .HasColumnType("varchar(50)")
              .IsRequired()
              .HasDatabaseGeneratedOption(DatabaseGeneratedOption.None);
  </code></pre>
  
  <p>Additionally, say I have another object with a GUID ID:</p>
  
  <pre><code>    mb.Entity&lt;AnotherObject&gt;()
          .Property(ao =&gt; ao.ID)
          .HasColumnName("ID")
          .HasColumnType("uniqueidentifier")
          .IsRequired()
          .HasDatabaseGeneratedOption(DatabaseGeneratedOption.None);
  </code></pre>
  
  <p>In the database it has a default of <code>newsequentialid()</code>, should I be configuring it with <code>DatabaseGeneratedOption.None</code>, <code>DatabaseGeneratedOption.Identity</code>, or <code>DatabaseGeneratedOption.Computed</code>? </p>
  
  <p>What is the difference between those options?
  Additionally, in the code GUIDs are mostly being assigned at object instantiation, like so:</p>
  
  <pre><code>Guid ID = new Guid.NewGuid()
  </code></pre>
  
  <p>Is that appropriate?</p>