Wpis z mikrobloga

#csharp #linq
#naukaprogramowania

tldr: update na elemencie kategorii zagnieżdżony na liście 3 stopnia.Tak żeby następny wczytywany obiekt jeżeli ma tak samą kategorie miał zaktualizowany element

Jak zrobić update elementów na przeszukiwanej liście,która ma listę kategorii a w niej listę wartości dla danej kategorii.
Wygląda to tak wczytuje listę produktów .Czytam 1 i wchodzę w listę kategorii.Wchodzę w 1 "Artykuły" id=26 jeżeli spełnia warunek to dodaję nową wartość na index[2].Jak zrobić update tak ,że w momencie czytania 2 produktu gdy ma kategorie o id-26 to index[2] ma już nową wartość.

var listInSql = listInSql.Where(S => S.listGroup.ElementAt[0] = category[0])
.Select(S => { S.listGroup.ElementAt[2] = category[2]; return S; }).ToList();
smalczyk1 - #csharp #linq
#naukaprogramowania 

tldr: update na elemencie kategori...

źródło: comment_60rPlirX0TaCWBq4gNilSnxZX9jFd2R5.jpg

Pobierz
  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@smalczyk1: Nie ma takiej opcji. To są osobne listy, osobne obiekty. Musiałbyś po wszystkich produktach polecieć.
A poza tym to co chcesz zrobić brzmi źle i pewnie da się prościej, tylko nie kumam tego modelu dobrze.
  • Odpowiedz
@budyn: Przerzucam strukturę kategorii z bazy do api.Każdy produkt ma przypisane swoją strukturę,Jeżeli kategoria w sql nie ma idKateogiiApi to dodaje i jej zwrócony przez api idKateogiiApi. Następnie czytam kolejny produkt i jeżeli jest ta sama kategoria i nie będzie mieć zaktualizowanego idKateogiiApi to znów ją dodam a nie ominę.
  • Odpowiedz
@budyn: Dodałem jeszcze raz funkcje,która zwraca liste pod koniec kroku pętli.Jednal listInSql ma oświeżone wartości we wszystkich produktach ale gdy czytany jest obiekt product to pole zostaje po staremu.

var listInSql = TakeProduct(dataLast);
foreach ( var product in listInSql) //listInSql ma nowe wartosci a product nie
{
foreach (List category
  • Odpowiedz
@smalczyk1: kolego ale zbuduj cos co mozna skopiowac sobie bo nikomu nie chce sie tworzyc tych list i struktur. Zbuduj jakis przyklad czy cos i wytlumacz co chcesz zrobic.

Jak chcesz zrobic update to raczej interesuje cie extension method .ForEach() albo zwykla petla for/foreach jak wolisz
  • Odpowiedz
  • 0
@bacteria Po 22 będę w domu to coś wam postaram wstawić. Czyli wychodziło by na to , że po dodaniu wartości muszę dodać kolejną pętlę forech,która zrobi update na wszystkich produktach a potem kontynuuje pierwsza i wczytuję 2 produkt.
  • Odpowiedz