This makes sense, but if you want to insert an empty entity, then you have to make the entity dirty so it will save.
What I am doing is inserting an entity, getting its ID, then passing that somewhere else so ir can be updated from there. Kinda silly, but that is what the spec calls for. So in order to do this, I have to make some field of the entity dirty.
Its no hassle in reality, but I just wanted to get your thoughts on why it was designed this way.