具有如下表:LINQ选择(使用实体框架)
- 消息
- MessageThread
- MessageThreadParticipant
- MessageReadState
我需要得到以下使用LINQ(我使用EF4,所以这些都知道对方)。
1)获取TOP 1消息的列表(从一个线程),也标记,如果这是对于给定的登录ID
因此,例如一个新的消息(登录ID 118)
应显示一个列表只有一个消息ID为368的项目(因为我参与了该对话)。另外,我需要知道这是LoginId 118的一条新消息,因为MessageReadState没有我的条目。
示例2 :(登录116) 应该列出4个线程,因为我参与threadId的(24,25,26,27)。用每个线程的最新消息。
编辑: EF(如果使用相同结构的任何人)
感谢
谢谢Slauma为您提供帮助。我实际上尝试了几个查询,但我被困在分组(尝试连接和groupjoins),但没有奏效。你的代码效果很好。正是我所期待的。非常感谢!。 – ShaneKm