I have a similar problem using an auto-incrementing numeric as a primary key.
When adding a new item using the default template it creates a textbox for the ID.
Hiding the column is no good as it will complain that the column is required.
Whatever number you type in it will save the next available ID anyway, unless you type an existing ID, in which case it will complain the ID already exists.
IsDbGenerated is set to true.
Is there an easy, or even a dirty way around this?
Hide the ID column and pass the max possible ID every time somehow?