title: Cannot insert NULL into SQL database using EF Core 3.0 with an Identity field
body: <p>EDIT/UPDATE:
  OK. I rebuilt my entire scaffolding again in a new project. I am now back to where I can insert a row successfully, but the form is requiring that I provide the OrgId (the identity for the database). I submit the form without entering OrgID and it gives the message on the OriId field of "The OrgId field is required."</p>
  
  <p>Here is what was generated:</p>
  
  <p><code>entity.Property(e =&gt; e.OrgId)
   .HasColumnName("OrgID")
   .ValueGeneratedNever();</code></p>
  
  <p>and</p>
  
  <p><code>public int OrgId { get; set; }</code></p>
  
  <p>I tried adding the data annotations for this to be labeled the primary key (but I think that is happening in Fluent already): </p>
  
  <p><code>[Key]
   [DatabaseGenerated(DatabaseGeneratedOption.Identity)]</code></p>
  
  <p>I know there has to be some way to make the form not require the identity. It should be letting the database figure it out.</p>
  
  <hr>
  
  <p>This is driving me insane because it seems like it should be so simple. I have a database that has its own default values for when the user does not provide their own. For example, I have an identity field and a create date. Both of these I want my EF code to do nothing with. The database handles all of that for me.</p>
  
  <p>I have tried many variations of Data Annotations and context properties. Nothing seems to work right and this is some very basic stuff. My code was built 99% with the scaffolding that is built into Visual Studio. I have done very little to modify it except to try to make the CRUDs work.</p>
  
  <p>Organizations.cs data model</p>
  
  <pre><code>[Key]
  [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
  public int OrgId { get; set; }
  
  [DatabaseGenerated(DatabaseGeneratedOption.Computed)]
  public DateTime RowCreated { get; set; }
  </code></pre>
  
  <p>DataContext.cs</p>
  
  <pre><code>entity.HasKey(e =&gt; e.OrgId);
  entity.Property(e =&gt; e.OrgId).HasColumnName("OrgID").UseIdentityColumn();
  
  entity.Property(e =&gt; e.RowCreated).HasColumnType("datetime").HasDefaultValueSql("GETUTCDATE()");
  </code></pre>
  
  <p>I am having a couple of issues here. </p>
  
  <ol>
  <li>The database is throwing back to me saying that it cannot accept NULL for the identity column, OrgID, so why is EF Core sending a NULL value in?</li>
  <li>Why is the create page requiring a RowCreated when I submit?</li>
  </ol>
  
  <p>My understanding is setting these data annotations is supposed to tell EF Core that the database will handle these and to ignore them.</p>
  
  <p>I changed the model definition for RowCreated, but it feels like it is not the proper solution:</p>
  
  <pre><code>public DateTime? RowCreated 
      {
          get
          {
              return _rowCreated;
          }
          set
          {
              _rowCreated = DateTime.UtcNow;
          }
      }
  </code></pre>