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 :

many to many methode POST create controlleur


Sujet :

ASP.NET MVC

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 32
    Points : 24
    Points
    24
    Par défaut many to many methode POST create controlleur
    bonjour a tous
    je developpe un application asp.net mvc
    j'ai deux tables(Gamme et catalogues) avec une relation many to many

    la classe gamme
    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
      [Bind(Exclude = "Gam_Code")]
       public class TR_Gamme_Montage
        {
            [ScaffoldColumn(true)]
            [DisplayName("Code")]
            [Key]
            public int Gam_Code { get; set; }
     
            [DisplayName("Article")]
            [UIHint("DropDownList")]
            public int Art_Code { get; set; }
     
            [DisplayName("Modele")]
            [UIHint("DropDownList")]
            public int Mod_Code { get; set; }
     
            [DisplayName("Saison")]
            [UIHint("DropDownList")]
            public int Sai_Code { get; set; }
     
            public virtual TR_Article Article { get; set; }
            public virtual TR_Modele Modele { get; set; }
            public virtual TR_Saison Saison { get; set; }
     
     
            public ICollection<TR_Catalogue_Temps> Catalogues { get; set; }
     
        }
    la classe catalogues :

    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
     [Bind(Exclude = "Cat_Code")]
        public class TR_Catalogue_Temps
        {
            [ScaffoldColumn(true)]
            [DisplayName("Code")]
            [Key]
            public int Cat_Code { get; set; }
     
            [DisplayName("Operation")]
            [UIHint("DropDownList")]
            public int Ope_Code { get; set; }
     
            [DisplayName("Machine")]
            [UIHint("DropDownList")]
            public int Mac_Code { get; set; }
     
            [DisplayName("Article")]
            [UIHint("DropDownList")]
            public int Art_Code { get; set; }
     
            [Required]
            [DisplayName("Temps prévus")]
            [DataType(DataType.Duration)]
            public decimal Cat_Temps_Prevus { get; set; }
     
            public virtual TR_Operation Operation { get; set; }
            public virtual TR_Machine Machine { get; set; }
            public virtual TR_Article Article { get; set; }
     
            public ICollection<TR_Gamme_Montage> Gammes { get; set; }

    et la classe context :
    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
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
     
    public class dbContext : DbContext
        {
            public DbSet<TR_Gamme_Montage> Gammes { get; set; }
     
            public DbSet<TR_Machine> Machine { get; set; }
            public DbSet<TR_Operation> Operation { get; set; }
            public DbSet<TR_Article> Article { get; set; }
            public DbSet<TR_Catalogue_Temps> Catalogues { get; set; }
            public DbSet<TR_Saison> Saison { get; set; }
            public DbSet<TR_Modele> Modele { get; set; } 
     
            protected override void OnModelCreating(DbModelBuilder modelBuilder)
            {
                modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();
                  modelBuilder.Entity<TR_Element>().
                  HasMany(c => c.Modele).
                  WithMany(p => p.Elements).
     
                  Map(
                   m =>
                   {
                       m.MapLeftKey("Ele_Code");
                       m.MapRightKey("Mod_Code");
                       m.ToTable("Tr_Ligne_Element");
                   });
                  modelBuilder.Entity<TR_Catalogue_Temps>().
                    HasMany(c => c.Gammes).
                    WithMany(p => p.Catalogues).
     
                    Map(
                     m =>
                     {
                         m.MapLeftKey("Cat_Code");
                         m.MapRightKey("Gam_Code");
                         m.ToTable("Tr_Ligne_Gammes");
                     });
            }
    voici l'interface d'ajout

    Nom : MANY to many .png
Affichages : 69
Taille : 15,0 Ko

    comment se fait l'ajout a la base (la methode post create???)

  2. #2
    Membre expérimenté
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2007
    Messages
    871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Février 2007
    Messages : 871
    Points : 1 498
    Points
    1 498
    Par défaut
    Salut,

    A mon avis cela se fait avec un insert, ou un update ...

    Comment veux-tu sérieusement que l'on réponde à ta question avec les informations que tu donnes ?

    Ps ceci m'a tout l'ai d'etre un problème lié à entity non à mvc, donc la section du forum n'est pas la bonne.

    bonne chance pour la suite

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2012
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Vietnam

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2012
    Messages : 9
    Points : 18
    Points
    18
    Par défaut
    Citation Envoyé par marouprod Voir le message
    comment se fait l'ajout a la base (la methode post create???)
    Si les mappings sont bien gérés, l'ajout d'une Gamme (avec une liste de Catalogue) devrait bien marcher.

    Exemple:

    Movies *<--->* Actors
    On pourrait proposer une page pour la saisie d'un film, avec une liste pour la sélection (multipe) d'acteurs. Ainsi, dans la page de saisie d'un acteur, il en va de soi de proposer (ou pas) la liste de film associé à cet acteur.

    Je dirait l'importance est de choisir la logique d'ajout (c.a.d: liste d'acteurs dans la saisie d'un film, l'inverse, ou les deux en même temps)

Discussions similaires

  1. create many to many
    Par Jacobian dans le forum JPA
    Réponses: 5
    Dernier message: 21/05/2008, 14h02
  2. [HTTP]passage de parametres via la methode post
    Par abdou.sahraoui dans le forum Entrée/Sortie
    Réponses: 3
    Dernier message: 03/03/2008, 15h11
  3. Un peu de mal a comprendre le concepte "one-to-many" et "many-to-many"
    Par chriscoolletoubibe dans le forum Hibernate
    Réponses: 4
    Dernier message: 29/03/2007, 19h50
  4. [Servlet] Form. Methode POST - Erreur 405
    Par Johnbob dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 03/11/2004, 17h46
  5. Passage de variable par methode post ?
    Par oazar dans le forum Flash
    Réponses: 33
    Dernier message: 16/10/2003, 18h03

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