【问题标题】:LLBLGen - Select against an entity-collection in memoryLLBLGen - 选择内存中的实体集合
【发布时间】:2011-12-16 21:39:49
【问题描述】:

我怎样才能检索客户对象中所有订单的所有订单项?

我在努力

grdView.DataSource = customer.Orders.

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

我可以理解为一个订单这样做

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

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

  • 我创建了客户对象
  • 我添加了订单 1
  • 我在订单 1 中添加了商品
  • 我创建了订单 2
  • 我在订单 2 中添加了商品

我的实体是 Customer、Order、LineItem

我想在保存之前在 gridview 中显示所有 lineitem。如何使用 llblgen pro 运行时做到这一点?

【问题讨论】:

    标签: llblgenpro


    【解决方案1】:

    为了获取所有 LineItem 实体,您应该使用关系和过滤器来填充 LineItemCollection。 Here is the LLBLGen Documentation for multi-entity filters. 为了能够过滤您想要的特定客户的结果,您需要添加关系以获取所需的相关实体。

    (假设您使用的是 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);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多