使用linq更新嵌套列表的数据

时间:2016-02-04 11:23:36

标签: c# linq

我有一个包含嵌套列表的用户对象,我需要更改第3个列表中元素的值并返回用户对象。

我想用linq做这个,下面是嵌套循环。

foreach (User itm in user)
{
    if (itm.destinations!=null)
    {
        foreach (Models.Api.destinations.Destination dm in itm.destinations)
        {
            if (dm.destinationData != null)
            {
                foreach (Models.Api.destinations.DestinationData destData in dm.destinationData)
                {
                    if (destData.type == "phone" & destData.data!="")
                    { 
                          //i want to update the destData.data here .. something like
                         destData.data ='updated data';
                    }
                }
            }
        }                
    }
}

我希望更新的数据在用户对象中可用

有人可以通过LINQ

帮助我实现这一目标

提前致谢 塔拉克

1 个答案:

答案 0 :(得分:0)

试试这个:

foreach (var x in
    (from itm in user
    where itm.destinations!=null
    from dm in itm.destinations
    where dm.destinationData != null
    from destData in dm.destinationData
    where destData.type == "phone" & destData.data != ""
    select new { itm, dm, destData }))
{
    /* put your update code here. */
}

您没有告诉我们更新代码应该是什么样的,甚至是我们可以使用的对象模型。