【问题标题】:Select all customers and their last order Linq to SQL选择所有客户及其最后一个订单 Linq to SQL
【发布时间】:2011-03-13 12:05:45
【问题描述】:

嘿,

使用 Linq to SQL(例如,ala NorthWind 数据库): 如何选择所有客户以及每个客户的最新订单。未下订单的客户也应该在结果中。 最后一个订单可以是 ID(ID 是递增的)或时间戳(DateTime 字段)。

类似于SQL Statement Help - Select latest Order for each Customer,但在 LINQ 中完成。

谢谢

【问题讨论】:

    标签: linq-to-sql


    【解决方案1】:

    假设客户和订单之间存在外键关系,这样的事情应该可以工作:

    from c in db.Customers
    select new 
           { 
             Customer = c,
             LastOrder = c.Orders.OrderByDescending(o=>o.Timestamp).First();
           };
    

    【讨论】:

    • 嘿,这行得通。但 LastOrder 只包含时间戳,我想获取订单的整个对象。有任何想法吗?非常感谢!
    • D'Oh...我的错误...已修复。
    猜你喜欢
    • 1970-01-01
    • 2011-05-02
    • 2021-09-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-24
    相关资源
    最近更新 更多