I have the following model:
parent is a to-one relationship (optional,
parent
Why do you need a mapping model? You should avoid these complexities and simply use Lightweight Migration as explained in Apple's Lightweight Migration Documentation.