如果主题ID相同,则选择所有消息,但不选择

时间:2011-02-10 14:52:30

标签: vb.net linq

我正在尝试选择从某个from_id写入的所有消息,但只显示具有相同主题ID的最新消息。例如,我的消息传递表如下所示:

Id
From_ID
To_ID
Subject
Subject_ID
Date
[Content]
Percentage

如果消息在同一消息链中,则消息是使用唯一ID创建的,即后续消息,主题ID与消息ID相同。我有由登录的当前用户选择的代码:

Dim query = From p In db.Messages Select p Where p.From_ID = Userid

但我不确定如何使用相同主题ID的最新消息对其进行分组。 谢谢你提前。

1 个答案:

答案 0 :(得分:1)

我不是Visual Basic专家,但您可以使用Group BySubjectID对返回的消息进行分组,然后使用{{1}选择每个组中的最新消息}。语法看起来大致如下:

Select

Dim q = From p In db.Messaes Where p.From_ID = Userid Group By Subject = p.Subject_ID Into Messages = Group Select ... 位需要替换为子查询,该子查询返回当前组中消息的最新消息(在...中可用)。