1

例如,我如何检索客户对象中所有订单的所有订单项?

我在尝试

grdView.DataSource = customer.Orders.

但在订单之后,我得到的只是“GetMulti”......我没有看到 lineitems 集合。

我可以理解为一个订单执行此操作

grdView.DataSource = customer.Orders(0).LineItems

但是我如何获得所有订单的所有订单项?

  • 我创建了客户对象
  • 我添加了订单 1
  • 我将商品添加到订单 1
  • 我创建了订单 2
  • 我添加了物品到订单 2

我的实体是 Customer、Order、LineItem

我想在保存之前在 gridview 中显示所有 lineitem。如何使用 llblgen pro 运行时执行此操作?

4

1 回答 1

2

为了获取所有 LineItem 实体,您应该使用关系和过滤器来填充 LineItemCollection。这是多实体过滤器的 LLBLGen 文档。为了能够过滤您想要的特定客户的结果,您需要添加关系以获取所需的相关实体。

(这假设您使用的是 SelfServicing。检查适配器的文档。)

// Make a link through relations from LineItem to Order to Customer
RelationCollection relations = new RelationCollection();
relations.Add(LineItemEntity.Relations.OrderEntityUsingLineItemId);
relations.Add(OrderEntity.Relations.CustomerEntityUsingOrderId);

// Filter on the customer id
PredicateExpression filter = new PredicateExpression();
filter.Add(CustomerFields.CustomerId == CustomerId);

// Get LineItems based on the relations and filters above
LineItemCollection collection = new LineItemCollection();
collection.GetMulti(filter, 0, null, relations);
于 2012-02-13T17:26:52.137 回答