Daniel Lubryka 8 Napisano 19 Marca Udostępnij Napisano 19 Marca w LINQ numerowanie wierszy Kochane dobre dusze, czy ktos moglby mi w prosty sposob pomoc zmienic pole PozID tak, zeby bylo kolejnym numerem wiersza ? 1 2 3 ... source .Where(pozycjeDokumentu => pozycjeDokumentu.Dokument.TransakcjaHandlowa.Rodzaj == 1 && pozycjeDokumentu.Dokument.DataWydaniaWystawienia >= data.Poczatek && pozycjeDokumentu.Dokument.DataWydaniaWystawienia <= data.Koniec && pozycjeDokumentu.Dokument.Symbol == symbol) .Select((pozycjeDokumentu) => new Wynik { Id = pozycjeDokumentu.Id, KodCN = pozycjeDokumentu.AsortymentAktualny.KodCN.ToString().Replace(" ", ""), MasaNetto = pozycjeDokumentu.AsortymentAktualny.PolaWlasneAdv2.D0 * pozycjeDokumentu.Ilosc, KrajPochodzenia = pozycjeDokumentu.AsortymentAktualny.PolaWlasneAdv2.L0, RodzajTransakcji = "11", OpisTowaru = pozycjeDokumentu.AsortymentAktualny.Nazwa, PozId = 1, WartoscFaktury = pozycjeDokumentu.Wartosc.NettoPoRabacie*pozycjeDokumentu.Dokument.KursWalutyDokumentu.Kurs, KrajPrzeznaczeniaWysylki = pozycjeDokumentu.Dokument.AdresDostawPodmiotu.Adres.Panstwo.KodPanstwaUE, }); Link to postu
Daniel Lubryka 8 Napisano 19 Marca Autor Udostępnij Napisano 19 Marca w LINQ numerowanie wierszy uszczegolowiajac pytanie - czy moge zmienna uzyc w zapytaniu i pozniej ja zwiekszac ? Link to postu
Paweł Kubacki 203 Napisano 20 Marca Udostępnij Napisano 20 Marca w LINQ numerowanie wierszy Można osiągnąć taki efekt, ale jedynie po stronie klienta, a nie serwera SQL. Oznacza to, że zapytanie musi być wcześniej wykonane, co można osiągnąć np. za pomocą funkcji ToList. Poniżej przykład zapytania z numerem LP w raporcie własnym LINQ opartym na asortymencie. null; var queryZmaterializowane = source .Select((Asortyment asortyment) => new { Id = asortyment.Id, Nazwa = asortyment.Nazwa, Symbol = asortyment.Symbol }).ToList(); int lp = 1; result = queryZmaterializowane .Select(x => new Wynik { Lp = lp++, Id = x.Id, Nazwa = x.Nazwa, Symbol = x.Symbol }).AsQueryable(); Alternatywnym rozwiązaniem jest wykorzystanie raportu SQL i wyrażenia ROW_NUMBER. Wówczas całe zapytanie będzie wykonywane po stronie serwera. 1 Link to postu
Polecane posty