[C#,WPF]Zapytania przy użyciu Entity Framework
Pracuję w tej chwili nad aplikacją w WPF, która opiera się w dużym stopniu na bazie danych. Korzystam z Entity Framework, ale mam problem aby skonstruować zapytanie, które pobierze dane z wielu tabel.
Dane pobieram w ten sposób:
Jak zauważycie pewnie po nazwach zmiennych tworzona przeze mnie aplikacja ma służyć do zarządzania zdjęciami. Mam dwie tabele Photos (gdzie przetrzymuje informacje o zdjeciach) i Category (ma służyć do grupowanie zdjęć w określone kategorie). W tabeli Photos mam pole CategoryId, które ma pozwalać na przypisanie zdjęcia do określonej kategorii. I mam problem teraz z tym aby pobrać informację o zdjęciu wraz z informacją o kategorii, do której jest przypisane.
Próbowałem zrobić coś takiego:
Jednak powyższy kod mi nie działa, nawet się nie kompiluje
Mam nadzieję, że pomożecie
PS. Wszelkie linki do artykułów, ebooków, itp na temat EF mile widziane
Pozdrawiam
Dane pobieram w ten sposób:
- Kod: Zaznacz wszystko
PhotoGalleryDatabaseEntities db = new PhotoGalleryDatabaseEntities();
var fotos = from f in db.Photos select f;
lstViewPhotos.ItemsSource = fotos;
Jak zauważycie pewnie po nazwach zmiennych tworzona przeze mnie aplikacja ma służyć do zarządzania zdjęciami. Mam dwie tabele Photos (gdzie przetrzymuje informacje o zdjeciach) i Category (ma służyć do grupowanie zdjęć w określone kategorie). W tabeli Photos mam pole CategoryId, które ma pozwalać na przypisanie zdjęcia do określonej kategorii. I mam problem teraz z tym aby pobrać informację o zdjęciu wraz z informacją o kategorii, do której jest przypisane.
Próbowałem zrobić coś takiego:
- Kod: Zaznacz wszystko
var fotos = from f in db.Photos join c in db.Category on f.CategoryId equals c.id select f;
Jednak powyższy kod mi nie działa, nawet się nie kompiluje
Mam nadzieję, że pomożecie
PS. Wszelkie linki do artykułów, ebooków, itp na temat EF mile widziane
Pozdrawiam
- gotan06
- Posty: 19
- Rejestracja: 2008-01-14, 16:25
Generalnie join nie ma tu zastosowania - chyba, że masz zdjęcia bez podpiętej kategorii - w innym przypadku to zapytanie jest nadmiarowe. A jaki błąd Ci wyskakuje?
You know who you are, don't betray yourself.
-

pejs - Posty: 2048
- Rejestracja: 2006-03-22, 20:03
- Miejscowość: Gdańsk
Błąd mam taki:
Czyli na moje oko nie ma takiego wyrażenia jak 'join', jest tylko funkcja 'Join', ale coś kiedyś takiego robiłem w ASP.NET i mi działało.
A dlaczego zapytanie jest nadmiarowe?
Chcę wyświetlić informacje o zdjęciu, ale także o kategorii, w której się znajduje. A te informacje znajdują się już w innej tabeli.
The type of one of the expressions in the join clause is incorrect. Type inference failed in the call to 'Join'.
Czyli na moje oko nie ma takiego wyrażenia jak 'join', jest tylko funkcja 'Join', ale coś kiedyś takiego robiłem w ASP.NET i mi działało.
A dlaczego zapytanie jest nadmiarowe?
Chcę wyświetlić informacje o zdjęciu, ale także o kategorii, w której się znajduje. A te informacje znajdują się już w innej tabeli.
- gotan06
- Posty: 19
- Rejestracja: 2008-01-14, 16:25
Mógłbyś wrzucić strukturę bazy? Nadmiarowe byłoby wtedy gdybyś chciał wyświetlać zawartość zdjęć jednej kategorii - ale to tak na boku.
You know who you are, don't betray yourself.
-

pejs - Posty: 2048
- Rejestracja: 2006-03-22, 20:03
- Miejscowość: Gdańsk
I jeszcze może jaki kod wygenerował framework dla edmx-a.
You know who you are, don't betray yourself.
-

pejs - Posty: 2048
- Rejestracja: 2006-03-22, 20:03
- Miejscowość: Gdańsk
5 posty(ów)
• Strona 1 z 1
Kto jest na forum
Użytkownicy przeglądający to forum: Brak zarejestrowanych użytkowników oraz 1 gość