简单的linq挑战:如何在查询中与另一个表的最后一个进行比较

时间:2009-11-26 11:58:22

标签: linq-to-sql

我想比较一个表列和另一个表的最后一个条目(通过外键给出)表。当这是最后一个时,然后进入这个条目。

所以:

  • 表1 - 列用户ID - 值:1000
  • 表2。列userID - 值:1000 //列rowID:1
  • 表2。列userID - 值:2000 //列rowID:2
  • 表2。列userID - 值:1000 //列rowID:3

应该是:否

所以:

  • 表1 - 列用户ID - 值:1000
  • 表2。列userID - 值:1000 //列rowID:1
  • 表2。列userID - 值:2000 //列rowID:2

应该是:是

我的尝试:

(from a in dc.table1
where a.UserID != a.table2.Last().UserID)

但它不起作用。

错误是

  

不支持查询运算符“Last”。

1 个答案:

答案 0 :(得分:1)

最后一个数据库查询没有意义,除非您还有一个订单:

a.table2.OrderBy(x => x.id).Last()

如果您按降序排序并使用First,它也可能表现更好,但我还没有测试过。