我有一个列表,用于保存用户的会话数据。在更新会话数据中保存的信息后,我需要将会话数据设置为此新信息。尝试执行类似的LINQ查询,user是全局会话数据,并且保存个人,即List。因此,我需要在列表中查找地址和城市相等的内容,一旦找到,我需要将状态设置为等于此,并且它们将只是列表中与其匹配的一条记录。
user.Individual = user.Individual.Where(a => a.address == "ABC" && a.city == "MIAMI").ToList()
所以上面我可以通过列表查找地址和城市等于什么的地方。如何根据a.State=="FL"
设置Where
,如果列表中的这两个是真的/找到的话。
答案 0 :(得分:0)
你只需添加&&到agian哪里?
user.Individual = user.Individual.Where(a => (a.address == "ABC" && a.city == "MIAMI") && a.State=="FL").ToList()
编辑你的意思是什么?
答案 1 :(得分: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
}
如果结果集中有多个项目,请执行以下操作:
//get the user
var idividuals = user.Individual.Where(a => a.address == "ABC" && a.city == "MIAMI").ToList();
individuals.ForEach(i=>i.State="FL");