title: C# Code First Vs. SQL Database first when using a business logic layer
body: <p>I am firmly in the camp of being a database first developer. I believe there are pro's and cons' to each approach. However when creating a code first approach should the newly created classes have default values set?</p>
  <p>E.g.</p>
  <pre><code>public DateTime DateCreated {get; set;} = DateTime.Now;
  </code></pre>
  <p><strong>If so what is the need for an existing business logic layer when the above property is not being referenced anywhere in the controller or business layer methods.</strong></p>
  <p>Another point is the mere fact that if code first migrations are enabled on commented out code the column is dropped!</p>
  <p>Data is precious.</p>