设置值以在检查其他数据类型的值后列出数据类型

时间:2013-03-21 18:18:50

标签: c# linq list where lookup

我有一个列表,用于保存用户的会话数据。在更新会话数据中保存的信息后,我需要将会话数据设置为此新信息。尝试执行类似的LINQ查询,user是全局会话数据,并且保存个人,即List。因此,我需要在列表中查找地址和城市相等的内容,一旦找到,我需要将状态设置为等于此,并且它们将只是列表中与其匹配的一条记录。

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

所以上面我可以通过列表查找地址和城市等于什么的地方。如何根据a.State=="FL"设置Where,如果列表中的这两个是真的/找到的话。

2 个答案:

答案 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");