LINQ to SQL(VB.net):连接两个表,只获取特定列

时间:2017-06-07 11:26:16

标签: vb.net join linq-to-sql max

这是我第一次在这个论坛上寻求帮助。 在过去,我很幸运能够找到答案或解决其他人的问题以解决我的问题。 所以,这是我的问题:

我有两张桌子。

一个名为" Customers"以下列:

  • CustomerID(主键)
  • 客户名称
  • CustomerSurname

和一个名为" Orders"使用以下列:

  • OrderID(主键)
  • CustomerID(外键)
  • DateOrderReceived
  • OrderStatus
  • DateOrderCompleted

一个客户可以拥有多个订单(一个到多个)。我需要在VB.net中使用LINQ创建一个新表,其中包括Customers与其最新订单的组合。因此,无论每个客户可能下了多少订单,在我的表中我只会看到CustomerX-LatestOrder组合的一条记录。我们可以通过过滤Column" DateOrderReceived"

来找到最新的订单

以下是我已经完成的事情:

  Dim query1 = From o In db.Orders, c In db.Customers Where c.CustomerID = o.CustomerID Group o By o.CustomerID Into g = Group Select CustomerID, MaxDate = g.Max(Function(o) o.DateOrderReceived)

上面的代码似乎正确选择了最大日期但我的问题是它只包含两列:CustomerID和MaxDate。我找不到任何方法来添加所有其余列并获得一个新的连接表。

非常感谢任何帮助。

提前致谢。

0 个答案:

没有答案