Bonjour!

Lorsque j'essaye d'insérer une ligne dans ma base de donnée, je passe par la méthode suivante:

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
 
 public class Method
    {
        private static ISMS.Models.isms_databaseEntities db = new isms_databaseEntities();
 
        public void AddMethod(string _methodName)
        {
            tbl_method newMethod = new tbl_method();
            newMethod.met_name = _methodName;
            newMethod.tbl_client.cli_id = (int)1;
            db.AddTotbl_method(newMethod);
            db.SaveChanges();
        }
 
   // du code
}
Le seul problème, c'est qu'à l'éxecution, ça plante sur la ligne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
newMethod.tbl_client.cli_id = (int)1;
lorsque j'essaye d'insérer la clé étrangère pour indiqué quel utilisateur (ici tbl_client) possède cette nouvelle ligne de la table tbl_method. Est-il nécessaire d'instancier également la table tbl_client, sachant qu'on insère dans la clé étrangère ce trouvant dans la table tbl_client?

Ceci, notamment à cause du mapping que fait EF. Je pense qu'il ne créer pas un champ avec une clé étrangère, mais plutôt va référencer sur le champ de la table contenant notre clé étrangère (tbl_client) de notre table principale (tbl_method), ce qui entraine donc une erreur de type

Object reference not set to an instance of an object