Verwalten von DatenbankschemasManaging Database Schemas

EF Core bietet zwei wesentliche Möglichkeiten, wie Sie Ihr EF Core-Modell und Ihr Datenbankschema synchron halten können. Um zwischen den beiden Optionen zu wählen, legen Sie fest, ob Ihr EF Core-Modell oder das Datenbankschema die einzige zuverlässige Datenquelle darstellt.EF Core provides two primary ways of keeping your EF Core model and database schema in sync. To choose between the two, decide whether your EF Core model or the database schema is the source of truth.

Wenn das EF Core-Modell die einzige zuverlässige Datenquelle darstellen soll, verwenden Sie Migrationen.If you want your EF Core model to be the source of truth, use Migrations. Wenn Sie Änderungen an Ihrem EF Core-Modell vornehmen, werden bei dieser Vorgehensweise schrittweise die entsprechenden Schemaänderungen an Ihrer Datenbank vorgenommen, um die Kompatibilität mit Ihrem EF Core-Modell aufrechtzuerhalten.As you make changes to your EF Core model, this approach incrementally applies the corresponding schema changes to your database so that it remains compatible with your EF Core model.

Verwenden Sie Reverse Engineering, wenn Ihr Datenbankschema die einzige zuverlässige Datenquelle sein soll.Use Reverse Engineering if you want your database schema to be the source of truth. Diese Vorgehensweise ermöglicht es Ihnen, ein Gerüst für DbContext und die Entitätstypklassen durch Reverse Engineering Ihres Datenbankschemas in ein EF Core-Modell zu erstellen.This approach allows you to scaffold a DbContext and the entity type classes by reverse engineering your database schema into an EF Core model.

Hinweis

Die APIs zum Erstellen und Löschen können ebenfalls das Datenbankschema anhand Ihres EF Core-Modells erstellen.The create and drop APIs can also create the database schema from your EF Core model. Diese werden jedoch in erster Linie für Tests, die Prototyperstellung und andere Szenarien eingesetzt, in denen die Datenbank gelegentlich gelöscht werden soll.However, they are primarily for testing, prototyping, and other scenarios where dropping the database is acceptable.