Linq查询中不在连接中的数据不输出到json,只显示在2个类中相关的数据

时间:2016-03-24 18:13:49

标签: c# json linq linq-to-sql linq-to-entities

这个问题的基础来自这个问题:

Combine 2 classes with adding data and 1 table has a colllection list of the other table and wanting to use linq to display

我“认为”问题解决了。

但是当我在List中添加一个新对象时,现在这个连接查询不会输出它

reportData.Add(new ReportData() {ReportGroupId = 3, ReportGroupName = "Straggler", SortOrder = 3, Type = 1});


var reports = reportDefinition.GroupBy(r=>r.ReportGroupId);
    var query = reportData.Join(reports, d => d.ReportGroupId, gr => gr.Key, 
                                (r,gr) => new
                                {
                                  r.ReportGroupName,
                                  items = gr.ToList(),
                                  r.ReportGroupId
                                });

这是dotNetFiddle https://dotnetfiddle.net/IIBFKG

为什么我添加到ReportData的项目没有显示?它是Linq中的JOIN类型吗?

1 个答案:

答案 0 :(得分:1)

我认为相关问题未得到正确回答。

看起来您只需要一个简单的Group Join

var query = 
    from d in reportData
    join r in reportDefinition on d.ReportGroupId equals r.ReportGroupId into items
    select new
    {
        d.ReportGroupName,
        items = items.ToList(),
        d.ReportGroupId
    };