Bonjour à tous,
Je veux afficher les entités d'une collection d'entités dans un daragridview sans sauvegarder mes entités dans un contexte.
Pour plus de détails, voici les données de mon problème:
1. J'ai les entités suivantes (correspondantes à des tables dans ma base)
a. Facture:
1. IDFacture (int, Clé primaire)
2. Reference (string)
3. DetailFactures: lien vers les détails de la facture qui représentent l'ensemble des articles inclues dans la dite facture.
b. DetailFacture:
1. IDDetailFacture (int, clé primaire)
2. Designation (string, nom du produit vendu)
3. Quantite (int, quantité vendue du produit)
4. IDFacture (int, clé étrangère)
j'ai bien sur omis de citer tous les champs des entités (juste le nécessaire pour comprendre).
j'ai aussi créé le bout de code suivant
comme on peut le remarquer, j'ai executé une requête en linq pour afficher les detailFacture que j'ai rajouté sans pour autant sauvegarder le contexte.
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
25
26
27
28
29
30 Facture facture = new Facture(); facture.IDFacture = 4; facture.Client = entities.Clients.First(); facture.Employe = entities.Employes.First(); facture.ModePayement = entities.ModePayements.First(); facture.Payee = true; facture.Reference = "sur"; facture.TypeFacture = entities.TypeFactures.First(); entities.AddToFactures(facture); //entities.SaveChanges(); DetailFacture detail = new DetailFacture(); detail.Produit = entities.Produits.First(); // detail.Facture = entities.Factures.Last(); detail.IDDetailFacture = 3; detail.NumOrdre = 2; detail.PU = 1000; facture.DetailFactures.Add(detail); var result = from detailFact in facture.DetailFactures select new { NumOrdre = detail.NumOrdre, Designation = detail.Produit.Designation }; dataGridView1.DataSource = result;
Quand j'execute le code les entités sont créées, la requete me renvoi le résultat que je voulais (dans result) mais la datagridview n'affiche rien.
j'ai essayé une autre chose:
où entities est mon Contexte. Ca fonctionne, la gridview affiche.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 var result = from DFact in entities.DetailFactures select DFact;
Ma question donc est :
Comment afficher le résultat de ma requête linq sur les entités sans pour autant passer par le contexte (les entités ajoutées ne sont visibles dans le contexte qu'après un entites.SaveChanges())?
j’espère avoir été clair dans mon énoncée
Merci d'avance.
Partager