Entity Framework Database First .Net Core
EF Core does not, and will never, support the EDMX-based Database First workflow with the designer. EF Core stores all object-to-database mapping in Attributes and Fluent API mapping in your source code.
In EF 6 the term "Code First" meant two very different things. One is a code-first modeling workflow where your database was generated from your .NET classes. The other meaning of "Code First" was just that the mapping metadata was embedded in your source code (Attributes/Fluent API) rather than in an EDMX file. EF 6 supported two different database-first workflows. Database-first with the EDMX, and the workflow officially called "Code First From an Existing Database", but which could have been called "Database-First with Code-Based Mapping".
In EF Core, your code will always have the mapping, and so in that sense it's "code first". But you can still do a database-first design workflow, and write entities and mapping code that match your existing database.
And you can use the scaffold-dbcontext
in the Package Manager Console, or dotnet ef dbcontext scaffold
in the CLI command to generate entity classes and mapping metadata from an existing database. See Getting Started with EF Core on ASP.NET Core with an Existing Database