[Podstawy LINQ]
Jak napisać takie coś za pomocą tylko i wyłącznie method syntax? Nie ogarniam jak to zrobić.

var employeeGroups = from employee in Employee.GetAllEmployees()
group employee by employee.Department into eGroup
orderby eGroup.Key
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Miruny co się znają na #bazydanych, proszę o pomoc.
Pierwszy raz w życiu mam styczność z bazą danych. Muszę wyeksportować sobie do (ekhem)... Excela trochę danych i nie potrafię.
Mam bazę w pliku *.sdf. Otworzyłem ją korzystając z LINQPad i widzę to co na zdjęciu. Lista poszczególnych tabel jest długa. Ja chciałbym wyeksportować wszystkie elementy z poszczególnych tabel oznaczone jako MLFB, Type, Price, Description do jednego pliku *.xls
Jesteście
r3ll - Miruny co się znają na #bazydanych, proszę o pomoc.
Pierwszy raz w życiu mam ...

źródło: comment_15924262288S9sFEZdlj4jjcvKdpwiLY.jpg

Pobierz
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#aspnet #bazydanych #csharp #dotnet #entityframework #linq #postgresql #programowanie #sql
W jaki sposób z bazy danych pobrać X wierszy starszych od tego o Id=4? Kolumna Time nie zawiera unikalnych wartośći, przyjmuję, że drugim kryterium sortowania będzie kolumna Id. Nie chcę pominąć żadnych ani pobrać drugi raz tych samych wierszy, kiedy będę chciał pobierać kolejne X wierszy.

|
  • 10
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@30012016: Timestamp to nie jest typ związany z datą/czasem. Pewnie w EF modelu masz TimeSpan i on jest mapowany na sqlowy typ Time. Co do wydajności ciężko powiedzieć bez Execution plan i określeniem ile danych będzie produkcyjne. W EF core tez możesz indeksy zrobić, za pomocą migracji. Ogólnie jeśli nie znasz SQLa to wybierz inny data storage. ORM to rozwiazanie, które nie na przykryć nieznajomości technologii, tylko przyspieszyć budowanie aplikacji
  • Odpowiedz
@30012016: Wybacz, nie wiem czemu, pomyślałem, ze mówisz o mssql. Uwaga o timestamp w takim razie nieaktualna. Indeks tylko przyspieszy wyszukiwanie, Ty sam do niego się nie odwołujesz. Bez indeksu silnik będzie robił table scana, ale w aplikacji do portfolio może to nie mieć aż tak dużego znaczenia. W ostateczności: jeździć obserwować. Jak zauważysz z czasem, ze to zapytanie trwa długo, albo zabiera za dużo zasobów, to dodasz indeks na
  • Odpowiedz
@hiperchimera: Od razu sobie to do double parsuj. Trzeba mieć tylko na uwadze, że w Twoim stringu separatorem jest kropka a nie przecinek. Możesz wcześniej zamienić jedno na drugie, albo użyć odpowiednich parametrów parsowania.

double val = double.Parse(
doc.SelectSingleNode("//Mid").InnerText,
NumberStyles.Any,
CultureInfo.InvariantCulture);
  • Odpowiedz
tl;dr Do niedzieli prawie 200 devkursów od 19,90 zł. ( ͡° ͜ʖ ͡°) VP obchodzi 4 urodziny. W związku z tym jest fajna promocja na kursy wideo, które można nabyć do 23 czerwca od 19,90 zł do 39,90 zł LINK. Ja ze swojej strony mogę polecić następujące kursy:

Kurs #git 29,90 zł LINK

Ponad 87 procent respondentów używa tego systemu do przechowywania kodu. Dzięki swojej popularności Git stanowi dziś
tomaszs - tl;dr Do niedzieli prawie 200 devkursów od 19,90 zł. ( ͡° ͜ʖ ͡°) VP obchodz...

źródło: comment_zbCmjWgNg7z8T1UZ8eA4OtxETq3xwX0T.jpg

Pobierz
  • 1
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#dotnet #csharp #linq

linq zwraca NullReferenceException gdy zapytanie nie znajdzie nic.Jak mam zrobić zapytanie linq,żeby nie wywalało błędu.

Tak zwraca nullaExpection

var
  • 17
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@smalczyk1: ale w tej metodzie co sie dzieje? stringa zlepia? rozbij jeszcze bardziej:
var kontrahent = db.Database.SqlQuery(SqlQueries.UsersLoginByEmail(email, lang))

na
var database =
db.Database;
var kontrahent = database.SqlQuery(SqlQueries.UsersLoginByEmail(email, lang))
  • Odpowiedz
via Wykop Mobilny (Android)
  • 0
Czym się różni FirstOrDefault(predykat) na IEnumerable a na List?

Ten pierwszy działa znacznie wolniej. Woła gdzieś w środku ToList() czy jak?

#dotnet #csharp #linq
  • 9
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@harakiri888: nie ma to związku z FirstOrDefault(predykat) a bardziej z tym w jaki sposob następuje iterowanie po strukturze danych.

Wykonując to na IEnumerbale korzystasz z IEnumerator IEnumerable.GetEnumerator(), natomiast przy liście będzie to List.Enumerator List.GetEnumerator(). I ten drugi nie jest wirtualny - wolniejszy.

jak masz jeszcze IEnumerable i zawołasz to list to rezygnujesz z deferred execution. też jest "szybciej"
  • Odpowiedz
@harakiri888 @MikelThief: Wszystkie operacje na IEnumerable typu: Where, Select itd wisza w powietrzu do momentu az zapytasz o jakis element z tej kolekcji albo o kolekcje. Dlatego z braku lepszego slowa te operacje nazwalem "zapytaniem"
  • Odpowiedz
via Wykop Mobilny (Android)
  • 0
Da radę zrobić jakoś szybko takie sortowanie w #linq?

Wejście: 1,1,4,5,6,2,3,3,1,7,2,4,2,3
Wyjście: 1,2,3,4,5,6,7,1,2,3,4,1,2,3

#csharp
  • 11
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Mam do zsynchronizowania jakieś 25k rekordów w bazie. Większość unikalna, ale to inna kwestia.
Każdy rekord wyszukuję w AD i na podstawie tego, co mi wyszukanie w AD zwróci zapisuję wartości do bazy albo zostawiam (w przypadku null bądź takiej, jaka mi nie pasuje - zostawiam starą) - więc przyrównanie USERBAZA = USERAD odpada.

Aktualnie mam stworzoną pętlę przez wszystkie rekordy w bazie i po zakończeniu każdego rekordu wykonuję:
1. Entry(USERBAZA).State = EntityState.Modified;
2. db.SaveChanges();
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#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.
smalczyk1 - #csharp #linq
#naukaprogramowania 

tldr: update na elemencie kategori...

źródło: comment_60rPlirX0TaCWBq4gNilSnxZX9jFd2R5.jpg

Pobierz
  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@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
#programowanie #naukaprogramowania #csharp #linq

elo, stworzyłem program do podkładania wartości pod parametry którego pokazuje output w linq z visual studio, z tym że mam problem bo program nie radzi sobie z podkładaniem powyżej 9 parametru bo zamiast podłożyć 10 parametr to podkłada pierwszy i dopisuje kolejną cyfrę. Ktoś coś?
link do kodu
Przykład
ugotowany_kamien - #programowanie #naukaprogramowania #csharp #linq

elo, stworzyłe...

źródło: comment_V06of6kkONWvcyUnHrZyIerpjRA5mtMv.jpg

Pobierz
  • 15
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Hej Mirki, chcę wyświetlić na widoku w aplikacji mobilnej pisanej w Xamarinie liczbę wierszy z danym tekstem, w tym wypadku Książki, w kolumnie Media tabeli stworzonej przy użyciu SQLite. Mam stronę z ListView z danymi z tabeli, w footerze button, po kliknięciu w który przechodzi do nowej strony, na której mają być wspomniane statystyki. Nie wyskakują żadne błędy, czy wyjątki, ale strona jest pusta.

https://pastebin.com/NZCMp0JQ

#xamarin #csharp #
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@wisniowy_smak: Jak piszesz kod w zwykłym code behind bez żadnego MVVM itp to możesz to zrobić w ten sposób bez użycia Bindingu. W tym wypadku byś musiał ustawić setBinding dla kontrolki i przypisać jej jakieś property ale nie ma sensu lepiej zrobić tak jak Ci zrobiłem w tym kodzie bo zakładam że masz tylko tą jedną kontrolkę a nie na przykład 20 ( ͡° ͜ʖ ͡°)
  • Odpowiedz
  • 1
@wisniowy_smak Bo domyślnie kontrolki biorą kontekst do Bindingu po wyższej kontrolce w hierarchii (po polsku to brzmi biednie chodzi o Parent'a ). Dobrze to widać na przykładzie na przykład listview gdzie w Item template ustawiasz sobie binding korzystając z danych które przesyłasz bezpośrednio do całego listview.

Co do stosowania Bindingu bez mvvm to raczej bez sensu, chyba że masz bardzo rozbudowany widok ale generalnie zalecane jest stosowanie MVVM bo na dłuższą
  • Odpowiedz
Mam taki oto string "select * from NAZWA_PROCEDURY(Param1, Param2, Param 3)"

Oraz listę obiektów IEnumerable z których każdy wygląda tak:

Parameter
{
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Nartenlener: Zrób linijkę wyżej:
var dictionary = parameters.ToDictionary(x => x.Name, x => x.Value);

I masz:
"select * from NAZWA_PROCEDURY(dictionary["nazwaParametru1"], dictionary["nazwaParametru2"], dictionary["nazwaParametru3"])
  • Odpowiedz