【问题标题】:Linq query - List within List [duplicate]Linq 查询 - 列表中的列表 [重复]
【发布时间】:2018-01-05 17:38:55
【问题描述】:

我正在尝试选择一个包含Fund.NameList<Investment> 的列表。

var funds = new List<Fund>
{
    new Fund { Id = 1 , Name = "good" },
    new Fund { Id = 2, Name = "bad" }
};

var investments = new List<Investment>
{
    new Investment { Fund = funds[0], Value = 100 },
    new Investment { Fund = funds[0], Value = 200 },
    new Investment { Fund = funds[1], Value = 300 }
};

然后我尝试用这个来创建查询:

var query = from f in funds
            join i in investments
            on f.Id equals i.Fund.Id
            select new { f.Name, i };

我想要这样的东西:

{ Name = good, {{ Id = 1, Value = 100 }, { Id = 1, Value = 200 }}},
{ Name = bad, { Id = 2, Value = 300 }}

但我得到的是这样的:

{ Name = good, { Id = 1, Value = 100 }},
{ Name = good, { Id = 1, Value = 200 }},
{ Name = bad, { Id = 2, Value = 300 }}

【问题讨论】:

    标签: c# linq


    【解决方案1】:

    尝试使用 GroupJoin。

    var query = funds.GroupJoin(investments, f => f.Id, i => i.Fund.Id, (f, result) => new { f.Name, result });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-09
      • 2011-11-15
      • 2016-07-03
      • 2020-11-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多