Added code first logic and migration support