如何在C#的LINQ查询中合并同THREAD_ID的两行数据
问题详情
SQL表结构及数据
| Id | SENDER | USERD_ID | BODY | TITLE | THREAD_ID | REPLIED |
|---|---|---|---|---|---|---|
| 1 | 2 | 15 | sth | some title | NULL | NULL |
| 2 | 2 | 16 | NULL | NULL | NULL | NULL |
| 3 | 2 | 17 | NULL | some title | NULL | NULL |
| 4 | 1 | 15 | sth1 | question | 501 | 1 |
| 5 | 3 | 15 | sth2 | answer: question | 501 | NULL |
| 6 | 2 | 15 | NULL | NULL | NULL | NULL |
期望返回格式
[{id: 1, user_id: 15, body: "sth", title: "some title", threadMessage: null}, {id: 4, user_id: 15, body: "sth1", title: "question", threadMessage: {messageId: 5,threadId: 501, body: "sth2", title: "answer: question"}}, {id: 6, user_id: 15, body: null, title: "null", threadMessage: null}]
当前LINQ查询
var query = (from m in db.Message where m.USERD_ID = 15 select new MessageTemp { Id = m.Id, Body = m.Body, Title = m.Title }).AsQueryable();
待解决问题
需要修改上述LINQ查询,实现以下两个目标:
- 获取相同
THREAD_ID对应的threadMessage信息; - 最终返回3条结果(而非当前查询会得到的4条)。
内容的提问来源于stack exchange,提问作者Monika
相关产品推荐
相关产品推荐

