Hello tout le monde.
Bon, je m'y suis fait finalement a EF... C'est pas si mal.
Je dois raté une petite astuce :
Je veux créer un enregistrement de type Client qui contient lui même un lien vers un objet de type Reference.
Et je voudrai créer le tout en une fois...
J'ai essayé deux choses qui m'ont paru naturel... Puis non en fait...
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 Sub Add(ByVal DTO_Client As ClassLibrary_DTO.Client) Dim DAL_Client As New Client DAL_Client .Nom = DTO_Client .Nom Using ctx As TestEntities= New TestEntities() ctx.Configuration.AutoDetectChangesEnabled = True //C est là le problème DAL_Client.reference = ctx.References.Where(Function(t) t.ID_reference = Client.ID_reference) ctx.Client.Add(DAL_Client) ctx.SaveChanges() End Using End Sub
Me dis qu'il ne peut pas prendre une référence de type "context-machin-chose" en DAL... et c'est pas faux
Puis ceci :
Et là me dis qu'il y a un problème de conflit de clé avec la référence... Et oui car il essaie de la créer... Puisqu'il ne sait pas duquel je parle...
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 Sub Add(ByVal DTO_Client As ClassLibrary_DTO.Client) Dim DAL_Client As New Client DAL_Client .Nom = DTO_Client .Nom Dim DAL_reference as New Reference DAL_reference.ID_reference = DTO_Client.Reference.ID_reference DAL_reference.ID_libelle = DTO_Client.Reference.ID_libelle DAL_Client.Reference = DAL_Reference Using ctx As TestEntities= New TestEntities() ctx.Configuration.AutoDetectChangesEnabled = True ctx.Client.Add(DAL_Client) //C est là le problème ctx.SaveChanges() End Using End Sub
Ma question est donc simple :
Comment je fais pour ajouter un client avec sa référence, sans devoir l'enregistrer sans référence dans un premier temps, puis le recharger et le lié dans l'entities....
Partager