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
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:
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 :
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?
Partager