-1

我有一个包含用户会话数据的列表。更新会话数据中保存的信息后,我需要将会话数据设置为此新信息。试图做一个像这样的 LINQ 查询,用户是全局会话数据,它持有个人,即列表。所以我需要在地址和城市等于这个的列表中查找,一旦发现我需要将状态设置为等于这个,它们只会成为列表中与之匹配的一条记录。

user.Individual = user.Individual.Where(a => a.address == "ABC" && a.city == "MIAMI").ToList()

因此,在上面我可以查看列表以找到地址和城市等于某物的位置。我该如何设置a.State=="FL"Where如果这两个是真的/在列表中找到。

4

2 回答 2

0

您只需将 && 添加到 where agian ?

user.Individual = user.Individual.Where(a => (a.address == "ABC" && a.city == "MIAMI") && a.State=="FL").ToList()

编辑你的集合是什么意思?

于 2013-03-21T18:23:17.280 回答
0

试试这个(假设你有一个人匹配你的 where 子句):

//get the user
var idividual = user.Individual.SingleOrDefault(a => a.address == "ABC" && a.city == "MIAMI");

if(idividual != null)
{
   idividual.State = "FL";

   //persist user in DB or elsewhere
}

如果结果集中有 1 个以上的项目,请执行以下操作:

//get the user
var idividuals = user.Individual.Where(a => a.address == "ABC" && a.city == "MIAMI").ToList();

individuals.ForEach(i=>i.State="FL");
于 2013-03-21T18:26:35.167 回答