Avec la version 4 d'Entity Framework, vous avez la possibilité de faire ce qu'ils appellent Code First. Le fait est que le nom de vos classes et champs/propriétés doit correspondre à la base de données de ce que je sais. J'utilise MySQL et en tant que tel j'utilise toutes les minuscules et les underscores dans le nommage car la capitalisation n'est pas supportée sur tous les systèmes d'exploitation et peut rendre MySQL bizarre si vous essayez de le forcer. Le problème est que j'utilise les conventions de nommage C# standard de l'utilisation de camelCase et PascalCase. Existe-t-il un moyen de mapper la dénomination dans ma base de données à mes classes en C# sans utiliser le concepteur de modèle d'entité (le fichier .edmx) car la conception semble un peu boguée. Merci.Mappage manuel des tables/champs de base de données MySQL avec les classes d'entités C#
0
A
Répondre
1
Vous pouvez utiliser la méthode remplaçable OnModelCreating
qui s'exécutera à la première instanciation de la classe. Là, vous pouvez remplacer des tables individuelles comme si
public class Context : DbContext {
//your models
protected override void OnModelCreating(ModelBuilder modelBuilder) {
modelBuilder.Entity<SomeTable>()
.MapSingleType()
.ToTable("YourTableNameInDatabase");
}
}
Il est aussi simple que cela
:) Les classes de modèle ne prolonge ou quoi que ce soit de sorte qu'il n'y a pas de méthodes de remplacement-mesure, car il est juste un POCO. – ryanzec
Vous avez raison, mais la classe DbContext est la classe avec le remplacement. – Buildstarted