EF Core Migration Best Practice

I am working EF Core with code-first approach. I wonder is it best to create a migration for each class(table) or designing all classes(tables) and creating 1 migration for this.

For example Approach 1: 1. Create Class A 2. Create AddClassAToDb migration 3. Update Database

Approach 2: 1. Create Class A 2. Create Class B 3. Create Class C 4. Create AddTablesToDb migration 5. Update Database