当我从另一个来源查询上下文时,我希望更新列表中的值。
我可以通过两种不同的查询方式找到匹配项。
var r = from aa in context.Persons.GetItems()
join bb in findPersonViewModel.findPersonResultsViewModel on aa.PersonId equals bb.PersonID
select aa;
或者
var results = context.Persons.GetItems().Where(ax => findPersonViewModel.findPersonResultsViewModel.Any(b => ax.PersonId == b.PersonID));
为了简洁起见,我缩短了模型。
public class FindPersonResultsViewModel
{
public int PersonID { get; set; }
public bool ExistInContactManager { get; set; }
public bool ActionType { get; set; }
}
public class PersonViewModel
{
public int PersonID { get; set; }
}
目标: 如果PersonID匹配,那么更新FindPersonResultsViewModel,使ExistinContactManager和ActionType都为True
下面是一个可视化数据的示例:
var findPersonResultsViewModel = new List<FindPersonResultsViewModel>()
{ new FindPersonResultsViewModel { PersonID = 2, ActionType = false, ExistInContactManager = false },
new FindPersonResultsViewModel { PersonID = 3, ActionType = false, ExistInContactManager = false },
new FindPersonResultsViewModel { PersonID = 4, ActionType = false, ExistInContactManager = false },
new FindPersonResultsViewModel { PersonID = 5, ActionType = false, ExistInContactManager = false },
new FindPersonResultsViewModel { PersonID = 6, ActionType = false, ExistInContactManager = false },
};
var personModel = new List<PersonViewModel>()
{ new PersonViewModel { PersonID = 2 },
new PersonViewModel { PersonID = 6 },
new PersonViewModel { PersonID = 8 },
new PersonViewModel { PersonID = 9 },
new PersonViewModel { PersonID = 12 },
new PersonViewModel { PersonID = 22 },
new PersonViewModel { PersonID = 32 },
new PersonViewModel { PersonID = 42 },
};
Select
(映射)和保存更改的流程吗? - ChiefTwoPencils