title: npoco.Insert<T> fails on table withOUT AutoIncrement Primary key
body: <p>I have an issue using the 'Insert of T' method of nPoco with a MySQL table defined like:</p>
  
  <pre><code>CREATE TABLE `TestTable` (
      `Id` INT(11) NOT NULL,
      `StatusEnum` INT(11) NOT NULL,
      PRIMARY KEY (`Id`)
  )
  </code></pre>
  
  <p>Database.Entity defined as...</p>
  
  <pre><code>[TableName("operations.TestTable")]
  [PrimaryKey("Id")]
  [ExplicitColumns]
  public class TestTable
  {
      [Column]
      public int Id { get; set; }
  
      [Column]
      public Status StatusEnum { get; set; } = Status.Default;
  }
  </code></pre>
  
  <p>Code snippet:</p>
  
  <pre><code>// this works   
  var foo = new TestTable { Id = 123 };
  database.Execute(
      "insert into operations.TestTable (Id, StatusEnum) values (@0, @1)", 
      foo.Id, 
      foo.StatusEnum);
  
  // this throws "Field 'Id' doesn't have a default value"
  var foo2 = new TestTable { Id = 456 };
  database.Insert&lt;TestTable&gt;(foo2);   
  </code></pre>
  
  <p>Looking at the SQL generated by nPoco for the two inserts, I see this (from my log file)...</p>
  
  <pre><code>SQL: insert into operations.TestTable (Id, StatusEnum) values (?0, ?1) -&gt; ?0 [Int32] = "123" -&gt; ?1 [Int32] = "1"
  SQL: INSERT INTO operations.TestTable (`StatusEnum`) VALUES (?0); SELECT @@IDENTITY AS NewID; -&gt; ?0 [Int32] = "1"
  </code></pre>
  
  <p>For the 'Insert of T' method, why does nPoco think the Id column is an identity column?  Removing the 'PrimaryKey' attribute from the class definition doesn't help.</p>
  
  <p>NOTE:  This question is similar to <a href="https://stackoverflow.com/questions/25865104/field-id-doesnt-have-a-default-value">this question</a>, but it might be slightly different.</p>