asp.net mvc visualstudio 2015

0

Witam uczę się programować w asp.net mvc i mam projekt do zrobienia ale mam problem bo muszę zrobić stronę w której pliki z obrazkami będą powiązane z użytkownikiem który je doda.Więc mam model obrazki i teraz chce zrobić relacje jeden użytkownik może mieć wiele obrazków ale nie wiem jak to zrobić żeby to było połączone z konkretnym użytkownikiem że to są jego obrazki? zrobiłem w Applicationuser bo to jest model użytkownika wbudowany i tam wpisałem public virtual ICollection<obrazki> obrazy ale nie działa. Poza tym nawet jakby działało to nie wiem jak to potem dodać do użytkownika? Może macie jakiś inny pomysł?Proszę pomóżcie bo ja muszę to zrobić.

0

pokaż kod z encjami, konfiguracją dbcontextu i ew. kod z miejsca gdzie pobierasz użytkownika z jego obrazkami.

0

Po co ci ten kod ja normalnie się łączę z dbcontext generuje controler zaznaczam dbcontext i już.
Po prostu powiedz mi jak połączyć ten model obrazki albo powiązać z użytkownikiem tak że by po zalogowaniu użytkownik mógł zobaczyć tylko swoje obrazki a nie wszystkie w serwisie.

0

Nie powiem Ci jak to zrobić dokładnie w C# i ASP .NET MVC bo się na tym nie znam, ale to co chcesz zrobić osiągniesz, kiedy w modelu obrazka dodasz klucz obcy (Foreign key) do użytkownika. I wtedy przeszukiwanie obrazków w bazie zrobisz filtrując po użytkowniku i tym samym wyciągniesz wszystkie obrazki danego użytkownika.

0

Chłopie ten pomysł brzmi ciekawie tylko jak to zrobić?Konto użytkownika jest wbudowane czyli po uruchomieniu Webapplication i potem mvc już jest wygenerowane ale nie wiem jak to edytować i zmienić żeby dodać ten klucz obcy a potem jak to obsłużyć w kontrolerze. jak próbowałem z samouczkami w necie to nie działa bo w ogóle nie znalazłem takiego samouczka z dodawaniem klucza obcego do użytkownika.

0

Hmm możesz zrobić tak:

  1. Dodaj pole do modelu obrazka UserID.
  2. Jak zapisujesz obrazek w bazie, to w polu UserID zapisz ID aktualnie zalogowanego użytkownika (który uploaduje obrazek): to może być taki kod, ale głowy nie dam:
userId = User.Identity.GetUserId()
  1. I teraz jak chcesz wyświetlić wszystkie obrazki użytkownika, to ponownie pobierasz ID zalogowanego użytkownika i używasz go w zapytaniu:
db.GetAll().Where(x => x.Id == userId);

Ten kod oczywiście jest przykładowy.

0

Powiedz mi jak chcesz przejść na drugą stronę rzeki skoro nie ma jeszcze wybudowanego mostu.

Zacznij od początku, tak tylko się irytujesz bo nie rozumiesz jak to wszystko jeszcze działa. Stwórz sobie przykładowe crudy, pobaw się relacjami, przeanalizuj kod i kolumny w bazie danych.

Polecam http://www.entityframeworktutorial.net/code-first/configure-one-to-one-relationship-in-code-first.aspx (zakładam że EF używasz) i https://mva.microsoft.com/

Ewentualnie wstaw Twój kod, to ktoś Ci poprawi :)

0

Dobra panowie dzięki za pomoc ale znalazłem już rozwiązanie mojego problemu na tej stronie polecam ciekawy ale krótki samouczek.
http://lukaszkosiorowski.pl/programowanie/net/12-klucz-obcy-kurs-asp-net-mvc-5/
Wszystko działa już idealnie wystarczy po zrobieniu relacji przypisać klucz

string userId = User.Identity.GetUserId();

oraz dodać dyrektywęusing Microsoft.AspNet.Identity;

1 użytkowników online, w tym zalogowanych: 0, gości: 1