if you want to have full control over schema then go with code first else DB first
If you have existing database already or you want to build your database first than other parts of the application then DB First approach to be used.If your prime focus is your domain classes and then create the database from your domain classes then Code first approach to be used. This ensures that you will have full control over code.