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

Popular posts from this blog

node.js - Mongoose: Cast to ObjectId failed for value on newly created object after setting the value -

gradle error "Cannot convert the provided notation to a File or URI" -

python - NameError: name 'subprocess' is not defined -