IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET MVC Discussion :

Définir le nom d'une table - Code First


Sujet :

ASP.NET MVC

  1. #1
    Membre du Club
    Profil pro
    Lycéen
    Inscrit en
    mai 2012
    Messages
    68
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : mai 2012
    Messages : 68
    Points : 47
    Points
    47
    Par défaut Définir le nom d'une table - Code First
    Bonjour,

    Je débute avec ASP NET CORE MVC, j'ai choisi l'approche code first pour mon projet.

    Dès lors que je fais une migration puis un update de la base, le nom de mes tables correspond aux noms de mes classes, cependant, j'aurais souhaité que mon modèle Client corresponde à une table "Clients", j'ai essayé d'utiliser les annotations, de modifier ma méthode "OnModelCreating" mais rien y fait..

    Ci-dessous la méthode OnModelCreating de mon contexte:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    protected override void OnModelCreating(ModelBuilder modelBuilder)
            {
     
                modelBuilder.Entity<Client>().ToTable("Clients");
                modelBuilder.Entity<User>().ToTable("Users");
                modelBuilder.Entity<Employee>().ToTable("Employees");
                modelBuilder.Entity<Role>().ToTable("Roles");
                modelBuilder.Entity<Person>().ToTable("Persons");
     
                foreach (var entity in modelBuilder.Model.GetEntityTypes())
                {
                    if (entity.BaseType == null)
                    {
                        entity.SetTableName(entity.DisplayName());
                    }
                }
            }
    Ma classe Client

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    using System;
    using System.Collections.Generic;
    using System.ComponentModel.DataAnnotations;
    using System.ComponentModel.DataAnnotations.Schema;
    using System.Linq;
    using System.Threading.Tasks;
     
    namespace Madera.Models
    {
        [Table("Clients")]
        public class Client //: Person
        {
            [Key]
            public int ClientNumber { get; set; }
            [Required]
            public Person Person { get; set; }
        }
    }
    Pouvez vous m'aider ? Merci d'avance

  2. #2
    Membre averti
    Homme Profil pro
    Développeur .NET
    Inscrit en
    septembre 2014
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : septembre 2014
    Messages : 116
    Points : 362
    Points
    362
    Par défaut
    Salut,

    Ce réglage se fait dans le ApplicationDbContext, il n'y a pas besoin de la balise [Table("Clients")]

    Il faut mettre dans le ApplicationDbContext cette écriture par exemple :

    public DbSet<Client> Clients { get; set; }

Discussions similaires

  1. Changer le nom d'une table sur SQL server avec une requete
    Par Oluha dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 01/02/2014, 23h35
  2. Réponses: 5
    Dernier message: 03/08/2007, 12h52
  3. [Access] Nom d'une table avec un espace dans SQL
    Par Corsaire dans le forum Langage SQL
    Réponses: 7
    Dernier message: 21/04/2006, 15h50
  4. Réponses: 3
    Dernier message: 07/12/2005, 14h28
  5. Modifier le nom d'une table.
    Par Asdorve dans le forum Langage SQL
    Réponses: 3
    Dernier message: 17/01/2005, 17h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo