首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无法访问linq中非分组表的字段。

无法访问linq中非分组表的字段。
EN

Stack Overflow用户
提问于 2015-05-26 18:14:29
回答 1查看 228关注 0票数 0

我试图使用LINQ连接几个表,并检索一个数据集。但我的问题是,当对表进行分组时,无法访问LINQ查询中非分组表的字段。这是我的示例代码块。请帮帮忙

代码语言:javascript
运行
复制
var query = from sb in db.Surfboards
                    join csb in db.CustomerSurfBoards on sb.SurfBoardID equals csb.SurfBoardID
                    join c in db.Customers on csb.CustomerID equals c.CustomerID
                    where c.IsActive
                    group new { sb,csb} by new {sb.ID, csb.ComponentId} into g
                    select new ReportModel()
                    {
                        ReceivedDate = g.First().Name,
                        Number = c.First().Number <------- this cannot be accessed
                    }

我想要实现的是这样的

代码语言:javascript
运行
复制
select sb.Id, max(c.Number), cbs.Id from Surfboards as sb
inner join CustomerSurfBoards as cbs on sb.SurfBoardID = csb.SurfBoardID
inner join Customers as c on csb.CustomerID =  c.CustomerID
group by sb.Id, csb.ComponentId
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-05-26 18:37:09

试试这个:

代码语言:javascript
运行
复制
var query = from sb in db.Surfboards
                    join csb in db.CustomerSurfBoards on sb.SurfBoardID equals csb.SurfBoardID
                    join c in db.Customers on csb.CustomerID equals c.CustomerID
                    where c.IsActive
                    select new {sb.id, c.number, cbs.componentid} into tmp
                    from t in tmp
                    group t by new {t.ID, t.ComponentId} into g
                    select new
                    {
                        g.Key.id, g.Key.componentid, number = g.Select(n=>n.number).OrderByDescending().FirstOrDefault()
                    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30465928

复制
相关文章

相似问题

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