Wpis z mikrobloga

Mirki mam problem z Entity Frameworkiem, otóż do istniejącej bazy danych mam zrobić narzędzie małe i prost, myslę - szybki szpil i bedzie działać, ale nie EF wymyślił sobie że nie chce działać, od strony kodu wygląda to tak:

Pierwszy raz stosuje podejście DB first i muszę do tego się podłączyć, baza jest kluczy w niej żadnych nie ma ani relacji - proste 3 tabele. I tu pojawia się porblem bo o ile kompiluje mi się cały kod z tego tutoriala od ms czy innych stron to query zwraca 0 rekordów a tabele są uzupełnione.

https://www.tutorialspoint.com/entity_framework/entity_database_first_approach.htm

Baza danych MSSQL, autoryzacja user /password, test połaczenia z bazą przechodzi, bład który uzyskuje to

The function evaluation requires all threads to run.

I zwraca 0 rekordów

#csharp #programowanie #bazydanych #sql #sqlserver
  • 4
@leoha:

Masz opis tego jak to jest wykonane z tutorial 1:1 i nie działa - bład j.w czego Ci jeszcze potrzeba?

var query = from q in db.Table1 orderby q.Id select q;


Ta linika zwraca 0 rekordów, reszte masz w tutorialu bo jak pisałem jest to dokładnie tak samo zrobione.
@bi-tek:
1. zamiast mówić że zrobiłeś wszystko dobrze to pokaż co zrobiłeś.
1a. Wrzuć gdzieś kod. nawet na pastebina bo przy takim prostym czymś to będzie jeden plik kodu.
1b. Pokaż bazę, udowodnij że coś tam jest. Odpal ms ssms, zrób selecta na twoich tabelkach i pokaż że coś tam jest
1c. Pokaż, że łączysz się z tą bazą z którą chcesz, bo domyślnie będziesz tworzył nową bazę LocalDB z kodu
@bi-tek:
dalej.

var query = from q in db.Table1 orderby q.Id select q;

zobacz, że to Ci zwróci IQuerable. IQuerable to nie jest kolekcja w pamięci, tylko coś, co będzie biegać po bazie i wyciągać rekordy dopiero jak będą potrzebne. Żeby mieć kolekcję w pamięci dodaj .ToList() na końcu.
No i pisz tą składnią co Ci wyżej powiedziałem. Czyli

var query = db.Table1.OrderBy(q => q.Id);
(zwróć uwagę, że raczej nie bez