c# - Not able to Update the LINQ list -
i have list of products came database , list, used linq , return list of phone class.
list<product> products = new list<product> { new product { id = 1, name = "alcohol", expired = false }, new product { id = 2, name = "phone", expired = false }, new product { id = 2, name = "phone", expired = false }, new product { id = 3, name = "computer", expired = false }, new product { id = 4, name = "chair", expired = false }, }; var results = in products.where(o => o.name == "phone") select new phones { id = i.id, phone = i.name, ischild = i.expired }; //update ischild property foreach (var item in results) { item.ischild = true; } public class phones { public int id { get; set; } public string phone { get; set; } public bool ischild { get; set; } }
i used update list of phones using foreach loop. problem when checked results variable doesn't update said items.
thats because of deferred execution of ienumerable. try casting results tolist immediate execute query:
var results = (from in products.where(o => o.name == "phone") select new phones { id = i.id, phone = i.name, ischild = i.expired }).tolist();
if won't - requery products every time , work new set of phones.
Comments
Post a Comment