首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >相当于Sql查询的Linq

相当于Sql查询的Linq
EN

Stack Overflow用户
提问于 2018-10-31 07:45:52
回答 1查看 45关注 0票数 0

SQL查询-

代码语言:javascript
复制
select q.QuesId, q.Title, q.Description, count(a.QuesId) as Answers
from Question q
join Answer a on q.QuesId = a.QuesId
group by q.QuesId, q.Title, q.Description

我想将这个Sql查询转换为linq。

我的方法是-

代码语言:javascript
复制
var questions = (from q in db.Questions
                 join a in db.Answers on q.QuesId equals a.QuesId
                 group q by new 
                 { q.QuesId, q.Title, q.Description, q.AskedBy, q.AskedOn, q.ModifiedOn }
                 into x
                 select new 
                 { x.Key.QuesId, x.Key.Title, x.Key.Description, x.Key.AskedBy, x.Key.AskedOn, x.Key.ModifiedOn, x.key.Answers.count }
                 ).ToList();

它似乎不起作用。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-31 11:36:15

这就是我最后做的对我有用的事-

代码语言:javascript
复制
var questions = db.Questions
                .GroupJoin(db.Answers, q => q.QuesId, a => a.QuesId, (q, a) => q)
                .GroupBy(q => new { q.QuesId })
                .SelectMany(x => x.Select(q => new 
                { q.QuesId, q.Title, q.Description, q.UserDetail.FirstName, q.UserDetail.LastName, q.AskedOn, q.ModifiedOn, q.Answers.Count }
                )).Distinct();
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53078542

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档