You may need to set is Changed to true, if variation.Hours had the value of null before setting it to null.
Because if the value of the field doesn't change, IsChanged remains false, and no value will be set in the database when the entity gets saved.