我想更新对象列表中的属性。该属性来自aspnetUsers列表
这是对象
Object
{
public Guid Id { get; set; }
public string profesionalId{ get; set; }
public string attributeToUpdate { get; set; }
}
我的这段代码不起作用
List<Object> MyListOfObject=new List<Object>();
// do some queries to populate the list
// more things here...
//my first problem comes here, can not get the list of users
var listOfUsers= _dbContext.Users.Where(u => MyListOfObject.Any(id => id.ProfesionalId == u.Id)).ToList();
如果上面的代码有效,我想做一个
MyListOfObject.ForEach(
//here replace the MyListOfObject.attributeToUpdate
).where (MyListOfObject.profesionalId==listOfUsers.Id)
我可以为此找到解决方案吗? 我尽力做到了,但解决不了。谢谢
答案 0 :(得分:1)
构建列表:
var listOfUsers= _dbContext.Users.Where(u => MyListOfObject.Select(c=>c.ProfesionalId).ToList().Contains(u.id)).ToList();
但是一般来说,您应该可以这样做:
MyListOfObject.ForEach(l => l.PropertyToUpdate= _dbContext.Users.First(x => x.id == l.ProfessionalId).PropertyYouGetDataFrom);