Based on my experience, I would go for Model-First, because it allows you to model your domain in such complex ways that it would not be easy to do in Code-First. In fact, there would be several pre-simulation scenarios that you would not be able to achieve in the first version of the code. This is strictly my thinking, based on my understanding of how complex modeling can turn out. But until the EF team completes the work on Code-First, we won't find out.
Also, if you came from linq to the sql world, you would be shocked if you saw a good Entity model designer. It works great and allows you to create a complex model with very little effort on the developer's side.
source share