Je suppose que vous avez défini les trois entités ayant des propriétés de navigation reliant les clients à CustomersOrders et CustomersOrders aux ordres. Si ce n'est pas le cas, utilisez le concepteur de modèle d'entité dans lequel vous pouvez faire un clic droit sur vos entités et ajouter les associations pertinentes entre les entités. N'oubliez pas de vérifier que vous générez des propriétés de navigation. Si le contexte du modèle est configuré de cette manière, il est facile d'interroger les commandes de vos clients. Il y a plusieurs façons de le faire. L'un d'eux pourrait être une expression LINQ:
using (var context = new MyEntityContext())
{
var query = from customerOrder
in context.CustomersOrders
where customerOrder.CustomerId.Equals(myCustomerId)
select customerOrder;
myGridView.ItemsSource = query.ToList();
}
Ici, je suppose que vous avez un customerId à myCustomerId. Si vous avez seulement un nom, pas un identifiant que vous pourriez faire quelque chose comme:
using (var context = new MyEntityContext())
{
var query = from customerOrder
in context.CustomersOrders.Include("Orders")
where customerOrder.Customer.Name.Equals(myCustomerName)
select customerOrder;
myGridView.ItemsSource = query.ToList();
}
Dans ce qui précède, je suppose que votre propriété de navigation CustomersOrders au Client est appelé « Client ». L'option "Inclure" s'assure que les commandes associées sont chargées. Si non inclus, l'appel ToList supposera que vous n'avez pas besoin des commandes et vous ne serez pas en mesure de s'y référer dans votre GridView.
Selon vous de la grille que vous pouvez faire une liaison au OrderName en utilisant Path = Order.OrderName et une fixation à Total avec Path = Total. Ici, je suppose que votre propriété de navigation de CustomersOrders aux commandes est appelée "Commande".
Pourriez-vous formater votre question un peu plus clair s'il vous plaît? Vous n'écrivez pas non plus à quoi ressemble votre expression de requête ni quelle langue vous utilisez. – Holstebroe