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

C# Discussion :

Problème de génération de données pour EF. (Nouveau problème)


Sujet :

C#

  1. #1
    Membre éprouvé Avatar de kheironn
    Homme Profil pro
    Chef de projets technique C# / MVC / .Net
    Inscrit en
    Février 2007
    Messages
    822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projets technique C# / MVC / .Net
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2007
    Messages : 822
    Points : 1 108
    Points
    1 108
    Par défaut Problème de génération de données pour EF. (Nouveau problème)
    Je recycle ce sujet, car le thème est le même. Seul le problème a changé.
    En informatique, le problème se situe toujours entre le clavier et l'écran !
    Il y a deux chemins entre le clavier et l'écran : Par l'UC et par l'utilisateur.

  2. #2
    Membre éprouvé Avatar de kheironn
    Homme Profil pro
    Chef de projets technique C# / MVC / .Net
    Inscrit en
    Février 2007
    Messages
    822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projets technique C# / MVC / .Net
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2007
    Messages : 822
    Points : 1 108
    Points
    1 108
    Par défaut
    J'ai les entités suivantes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
        public class Character
        {
            public int ID { get; set; }
     
            [...]
     
            [Display(Name = "Famille")]
            public virtual ICollection<CharacterRelationship> CharacterRelationships { get; set; }
        }
    et
    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
        public class CharacterRelationship
        {
            public int ID { get; set; }
     
            [Display(Name = "Personnage")]
            public int CharacterID { get; set; }
     
            [Display(Name = "Personnage apparenté")]
            public int SiblingID { get; set; }
     
            [...]
     
            public virtual Character Character { get; set; }
            public virtual Character Sibling { get; set; }
        }
    et le DBContext suivant
    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
        public class MyContext : DbContext
        {
            public DbSet<Character> Characters { get; set; }
            public DbSet<CharacterRelationship> CharacterRelationships { get; set; }
     
            protected override void OnModelCreating(DbModelBuilder modelBuilder)
            {
                modelBuilder.Entity<CharacterRelationship>()
                    .HasRequired(c => c.Character)
                    .WithMany()
                    .HasForeignKey(c => c.CharacterID);
     
                modelBuilder.Entity<CharacterRelationship>()
                    .HasRequired(c => c.Sibling)
                    .WithMany()
                    .HasForeignKey(c => c.SiblingID)
                    .WillCascadeOnDelete(false);
            }
        }
    Mon problème est que lorsque Entity Framework génère la base de données à partir de ces classes, il me génère une colonne foreign Key supplémentaire. Character_ID et ignore totalement celle que je veux créer CharacterID.

    J'ai essayé de mettre des attribut sur mes propriétés virtuelles pour indiquer le nom de la FK, mais rien n'y fait.

    Pouvez-vous éclairer ma lanterne ?
    En informatique, le problème se situe toujours entre le clavier et l'écran !
    Il y a deux chemins entre le clavier et l'écran : Par l'UC et par l'utilisateur.

  3. #3
    Membre éprouvé Avatar de kheironn
    Homme Profil pro
    Chef de projets technique C# / MVC / .Net
    Inscrit en
    Février 2007
    Messages
    822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projets technique C# / MVC / .Net
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2007
    Messages : 822
    Points : 1 108
    Points
    1 108
    Par défaut
    J'ai nommé la foreign key sur la prop de navigation Character et supprimé ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    modelBuilder.Entity<CharacterRelationship>()
                    .HasRequired(c => c.Character)
                    .WithMany()
                    .HasForeignKey(c => c.CharacterID);
    et c'est réglé.
    En informatique, le problème se situe toujours entre le clavier et l'écran !
    Il y a deux chemins entre le clavier et l'écran : Par l'UC et par l'utilisateur.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 7
    Dernier message: 07/03/2011, 15h37
  2. Réponses: 1
    Dernier message: 28/01/2010, 11h04
  3. nouveau problême d'insertion des données dans la base de données
    Par tchimou dans le forum Bases de données
    Réponses: 6
    Dernier message: 27/03/2007, 15h32

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