Я предполагаю, что вы определили три объекта с навигационными свойствами, связывающими Customers с CustomersOrders и CustomersOrders с Заказами.Если нет, используйте конструктор модели сущностей, где вы можете щелкнуть правой кнопкой мыши по вашей сущности и добавить соответствующие ассоциации между сущностями.Не забудьте проверить, что вы создаете навигационные свойства.Если контекст модели настроен подобным образом, то просто запросить заказы вашего клиента.Есть несколько способов сделать это.Одним из них может быть выражение LINQ:
using (var context = new MyEntityContext())
{
var query = from customerOrder
in context.CustomersOrders
where customerOrder.CustomerId.Equals(myCustomerId)
select customerOrder;
myGridView.ItemsSource = query.ToList();
}
Здесь я предполагаю, что у вас есть customerId в myCustomerId.Если у вас есть только имя, а не идентификатор, вы могли бы сделать что-то вроде:
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();
}
. Выше я предполагаю, что ваше навигационное свойство от CustomersOrders to Customer называется «Customer».«Включить» обеспечивает загрузку соответствующих заказов.Если он не включен, вызов ToList будет предполагать, что вам не нужны ордера, и вы не сможете ссылаться на них в своем GridView.
В виде сетки вы можете связать OrderName с помощью Path= Order.OrderName и привязка к Total с путем = Total.Здесь я предполагаю, что ваше навигационное свойство от CustomersOrders to Orders называется "Order".