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 w stanie
r3ll - Miruny co się znają na #bazydanych, proszę o pomoc.
Pierwszy raz w życiu mam ...

źródło: comment_15924262288S9sFEZdlj4jjcvKdpwiLY.jpg

Pobierz
@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 developerom,
@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 bazie.
@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);
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
tomaszs - tl;dr Do niedzieli prawie 200 devkursów od 19,90 zł. ( ͡° ͜ʖ ͡°) VP obchodz...

źródło: comment_zbCmjWgNg7z8T1UZ8eA4OtxETq3xwX0T.jpg

Pobierz
#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 kontrahent = _db.Database.SqlQuery(SqlQueries.UsersLoginByEmail(email, lang))
.Where(x=>(x.SklepLogin!=null || x.SklepLogin !="") && x.SklepLogin.ToLower() == email.ToLower())
.FirstOrDefault();

var kontrahent = _db.Database.SqlQuery(SqlQueries.UsersLoginByEmail(email, lang))
.Where(n => string.Equals(n.SklepLogin.ToLower(), email.ToLower()))
.DefaultIfEmpty().FirstOrDefault();

`

var kontrahent = _db.Database.SqlQuery(SqlQueries.UsersLoginByEmail(email, lang))
.FirstOrDefault(x.SklepLogin.ToLower() == email.ToLower());
@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))
@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"
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 =
#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
smalczyk1 - #csharp #linq
#naukaprogramowania 

tldr: update na elemencie kategori...

źródło: comment_60rPlirX0TaCWBq4gNilSnxZX9jFd2R5.jpg

Pobierz
@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
  • 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.
#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
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 #sqlite #linq #programowanie #android
@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 ( ͡° ͜ʖ ͡°)

https://pastebin.com/6NVRWm7c
@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ą metę
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
{
Name = Param1; // To co widać w inpucie procedury SQL
Value = "wartość parametru 1" // string który przyjmuje ów procedura
}

Pytanie:
W jaki mądry sposób mogę zamienić inputy procedury z ich Name na Value? Chciałbym uzyskać coś takiego:

**"select * from NAZWA_PROCEDURY("wartość parametru 1", "wartość parametru
#programowanie #devexpress #linq #xpo

przekazuje do metody unit of work i jeżeli znajdę w tabeli wiersz od id które również przekazałem do metody wtedy ma mi usunąć ten wiersz ale wywala mi błąd

uow.BeginTransaction();
XPQuery mon = uow.Query();

var typ = (from t in mon
where t.IDMOMO == idMO
select t).Count();

if (typ >0 )
{
var typ1 = (from t in mob
where t.IDMO.IDMO == idMO
select