Comment puis-je au singulier mes tables en EF Premier Code?
Je préfère utiliser le singulier des noms pour nommer mes tables de base de données. En EF code tout d'abord, les tables générées sont toujours au pluriel. Mon DbSets sont la marque du pluriel qui, je crois, où EF est de générer les noms, mais je ne veux pas au singulier de ces noms que je crois qu'il est plus pratique de les avoir pluriel dans le code. J'ai aussi essayé en remplaçant le réglage, mais en vain.
Des idées? Voici mon code et merci.
MyObjectContext.cs
public class MyObjectContext : DbContext, IDbContext
{
public MyObjectContext(string connString) : base(connString)
{
}
public DbSet<Product> Products {get;set;}
public DbSet<Category> Categories {get;set;}
//etc.
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Conventions.Remove<PluralizingEntitySetNameConvention>();
}
}
Vous devez vous connecter pour publier un commentaire.
Vous avez enlevé le mauvais convention (PluralizingEntitySetNameConvention) à cette fin. Il suffit de remplacer votre OnModelCreating méthode avec le ci-dessous et vous serez bon d'aller.
Avec Entity Framework 6, sur votre fichier qui héritent de DbContext:
Vous pouvez également modifier la valeur de la propriété:
Sur le menu Outils, cliquez sur Options.
Dans la boîte de dialogue Options, développez Outils de Base de données.
Cliquez Sur Concepteur O/R.
Définir la Pluralisation des noms Activé = False pour définir le Concepteur O/R de manière à ne pas modifier les noms de classe.
Définir la Pluralisation des noms Enabled = True pour appliquer la pluralisation des règles pour les noms de classe d'objets ajoutés au Concepteur O/R.
L'emplacement de la définition de PluralizingTableNameConvention a déménagé: