Basically this happens because EntryState.Modified just looks for scalar properties (primitive types) and with independent association (your case) you don't have it.
There is a several ways to achieve this, @Yuliam has pointed some of them and
here you can find more.