Ich verwende den Befehl Scaffold-DbContext
in Package Manager Console
, um Kontext und Entitäten für eine vorhandene SQL Server-Datenbank zu erstellen und neu zu erstellen:
Es funktioniert perfekt außer einer Sache: DbSet
haben Eigenschaftsnamen in Singularform:
Ich bevorzuge diese Namen im Plural ( Requests
usw.). Zusätzlich zur Websuche habe ich die Befehlssyntax überprüft:
Und nichts gefunden, um dieses Verhalten zu ändern. Hier ist meine packages.config
:
Wie man DbSet
Namen beim Gerüstbau pluraliert?
UPDATE 2017-04: DB Die erste Gerüstpluralisierung ist jetzt in Entity Framework Core 1.1 möglich. Lesen Sie meine Antwort unten für Details.
Die Pluralisierung wird in EF7 ab RC1 nicht unterstützt. Diese und andere Einschränkungen des EF7-Gerüsts werden hier verfolgt: Ссылка
Die Pluralisierung ist in EF Core 1.1 möglich. Als Rowan Miller beschrieben in seinem Blog , Sie Sie müssen den Inflector installieren und IDesignTimeServices
implementieren, um die Pluralisierung beim Gerüstbau zu steuern. Beachten Sie jedoch Folgendes:
Wir stellen diese Dienste in * .interne Namespaces und behalten uns das Recht vor um die APIs zu jedem Zeitpunkt zu brechen.
Aus diesem Grund wird ein vollständiges Codebeispiel hier nicht kopiert. Diese Antwort wird aus dem gleichen Grund nicht akzeptiert - ich warte lieber, bis wir eine stabile API bekommen.
Ein weiteres Problem, das Sie beachten sollten - diese Lösung ist vom Anbieter abhängig. Es funktioniert gut mit SQL Server (ich habe es getestet). Ein anderer DBMS-Anbieter unterstützt diese API möglicherweise noch nicht. Beispiel: Npgsql.EntityFrameworkCore.PostgreSQL 1.1.0 schlägt auf dem Gerüst fehl, wenn die benutzerdefinierte IDesignTimeServices
verwendet wird.
Tags und Links sql-server c# entity-framework visual-studio-2015 entity-framework-core