bonjour,

je suis en train de créer quelques méthodes pour transférer des données d'une base access a une sql server.
j'ai rédigée pour ça 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
17
18
19
20
21
22
23
24
public void TransfertGroupe()
        {
            using (var connexion = Connexion.OldDbConnect)
            {
                //récupération des données "a l'ancienne"
                connexion.Open();
                StringBuilder sql = new StringBuilder();
                sql.Append("SELECT * FROM Groupe");
 
                OleDbCommand recup = new OleDbCommand();
                recup.CommandText = sql.ToString();
                recup.Connection = connexion;
                OleDbDataReader reader = recup.ExecuteReader();
 
                while (reader.Read())
                {
                    //création de l'objet e
                    Groupe a = new Groupe();
                    a.Numero = reader["groupe"].ToString();
                    a.Atelier = new DALAtelier().Read((string)reader["Atelier"]);
                    new DALGroupe().Create(a);
                }
            }
        }
l'objet que j'ajoute est un "groupe", qui contient un objet "atelier".
l'atelier est déja présent dans la base, je le récupère a cette ligne:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
a.Atelier = new DALAtelier().Read((string)reader["Atelier"]);
mon problème est que EF me crée un enregistrement dans la base pour cet atelier en même temps qu'il ajoute le groupe.

l'objet groupe :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
    public class Groupe
    {
        public int Id { get; set; }
        public string Numero { get; set; }
        public Atelier Atelier { get; set; }
    }
des idée de comment empêcher ça?