在返回方法调用之前更新本地可查询列表
本文关键字:查询 列表 更新 返回 方法 调用 | 更新日期: 2023-09-27 18:04:53
在后续问题到我原来的帖子使用Foreach在iQueryable List找到值,如果在第二列表我无法找到一个解决方案,当我使用Foreach循环进行更改时,它更新本地列表。通过我的visual studio调试器,它确实更新了项目。如果在LookForMe列表中找到当前项,则使用LinkURL值。但是,当将Results.ToList()返回给我的调用方法时,此更新不在返回的集合中。在返回它们之前,我如何将这些保存到结果列表中?没有看到任何智能感知,像Results.Update()或Results.Save()这样的东西可以工作。
foreach (var item in Results)
{
if (LookForME.Any(fs => item.LinkUrl.Contains(fs)))
{
item.LinkUrl = ServerPath + "/" + item.LinkUrl;
// works great until its time to return the updated Results list
}
// something here to update results with new value?
}
return Results.ToList();
您需要使用ToList
首先迭代,然后修改内存列表并返回该列表。
目前你的Result
是IQueryable
(更像一个查询)尚未执行。
你可以这样做:
var newList = Result.ToList(); //get a in-memory list
foreach (var item in newList) //modify in-memory list
{
if (LookForME.Any(fs => item.LinkUrl.Contains(fs)))
{
item.LinkUrl = ServerPath + "/" + item.LinkUrl;
// works great until its time to return the updated Results list
}
// something here to update results with new value?
}
return newList;