As a random guess - I would say that in the presentation, entityID was an INT IDENTITY(1,1) and in your code, it doesn't seem to be an IDENTITY type. So you are telling SQL you have a table with 9 columns and you are inserting into 8 of them. What should SQL do with that column that isn't provided AND which column isn't being provided? SQL has no idea.
Now, if entityID is an IDENTITY type, SQL doesn't require a value for it as it will do it automatically. It will actually give you errors if you do provide it unless you turn IDENTITY INSERT off on that table.
Now, to add to Mike01's reply, if you provide the column names in the INSERT (ie "INSERT INTO table (column1, column2, column3..."), then if you have 9 columns total and you are only providing 8 of them, SQL can map them up.
As for why you got the error and the demo didn't - the demo configured something different than you and I suspect that the demo had entityID as an INT IDENTITY (1,1) whereas you are just defining it as an INT.