Normalnie stanu obiektów nie można zmienić, bo atrybut someEntityObject.EntityState jest read only.
Można go zmienić tak:
orderContext.ObjectStateManager.ChangeObjectState(shippingOrder, System.Data.EntityState.Modified);
Ale co kiedy chcemy zmienić stan obiektu, którego nie mamy jeszcze w bazie/kontekście, bo utworzyliśmy go?
Swoją drogę trochę dziwne że utworzyłem nowy obiekt, zmieniłem w nim parę wartości i jego stan się zmienia w programie:
Detachet, Added, Unchanged, Modified
A oprócz stworzenia tego obiektu i zmienienia kilku jego wartości, nic innego nie robię, nawet nie zapisuję kontekstu.