Hirdetés

2024. június 10., hétfő

Gyorskeresés

Hozzászólások

(#2931) amargo válasza ubid (#2930) üzenetére


amargo
addikt

Hasonlítsd össze a két lista elem tartalmát, LINQ Except. Nyilván csak a változást kell elmentened.

Kihagyok alapvető részleteket, inkább csak a problémára adok egy megoldás vázlatot.

private void setInDB()
{
var query = (from q in DB.Buszs select q).ToList();
var insertKeys = Buszs.Select(s => s.Jarat).Except(query.Select(s => s.Jarat)).Select(s => new BuszModel { Jarat = s });

var removeKeys = query.Select(s => s.Jarat).Except(Buszs .Select(s => s.Jarat ));


foreach (var rKey in removeKeys)
{
var jarat = DB.Buszs.Where(w => w.Jarat.Equals(rKey)).FirstOrDefault();
DB.Buszs.DeleteOnSubmit(jarat);
}

foreach (var iKey in insertKeys)
{
DB.Buszs.InsertOnSubmit(iKey);
}

DB.SubmitChanges();

Messenger.Default.Send<GenericMessage<Table<JaratModel>>>(new GenericMessage<Table<JaratModel>>(DB.Buszs));
}

Továbbá, nem ártana csak akkor leszedni az adatokat ha változás van.

[ Szerkesztve ]

“The workdays are long and the weekend is short? Make a turn! Bike every day, bike to work too!”

Copyright © 2000-2024 PROHARDVER Informatikai Kft.