I am using Entity Framework code-first. I have a table the will not exceed 100 rows and I would like to use the datatype byte (tinyint in SQL Server) as the primary key.

This is what I have so far:

[Key]
public byte Id { get; set; }

The issue is when Entity Framework creates the database, it is not setting the identity specification property that allows the rows to auto increment on insert.

If I change the datatype to Int16 (smallint in SQL Server) everything works perfectly.

Is there a way to tell Entity Framework to set the auto increment property or can a byte not be used as the primary key with Entity Framework code-first?

Edit
Report