Serwis społecznościowy - przechowywanie informacji o "znajomych" w ApplicationUser a EF

Serwis społecznościowy - przechowywanie informacji o "znajomych" w ApplicationUser a EF
MN
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2
0

Hej, nie mam zbyt dużego doświadczenia w asp.net i Entity framework, piszę sobie dla zabawy/nauki taki niby serwis społecznościowy. User musi mieć znajomych, dodałem więc

Kopiuj
public List<Friend> Friends { get; set; }

w klasie ApplicationUser dziedziczącej po IdentityUser.
klasa Friend:

Kopiuj
     public class Friend
    {
        public int Id { get; set; }
        public DateTime AcceptationTime { get; set; }
        public ApplicationUser FriendUser { get; set; }
    }

EF wygenerował mi odpowiednią tabelę dla "Przyjaciół" w bazie, ale nie istnieje żadne połączenie usera z userem(przyjacielem).

Pomyślałem by przerobić klasę Friend w taki sposób by miała jeszcze jedno pole typu ApplicationUser by zbudować powiązanie pomiędzy dwoma userami, jednak ta klasa nie bardzo nadawała by się potem do korzystania z przyjaciół danego usera prz użyciu kontekstu (ApplicationDbContext). Zrobiło się z mojej wypowiedzi masło maślane ale myślę że ktoś mnie zrozumie i poradzi jak to zrealizować. Pozdrawiam

AreQrm
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Londyn
  • Postów: 873
0

Przyjacielem użytkownika jest... inny użytkownik (badum tss). Po co kombinujesz z dodatkową klasą Friend? To obecność na liście przyjaciół decyduje czy jest nim czy nie. Ewentualnie możesz sobie przemyśleć, czy przyjaźń może być jednostronna czy wymaga dwustronności.

MN
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2
0
AreQrm napisał(a):

Przyjacielem użytkownika jest... inny użytkownik (badum tss). Po co kombinujesz z dodatkową klasą Friend?

Tak, to prawda, dlatego w klasie Friend mam:

Kopiuj
public ApplicationUser FriendUser { get; set; } 

Klasa Friend jest po to by przechowywać dodatkowe dane na temat znajomości, czyli czas zawarcia znajomości (to pole już mam) i co mi tam jeszcze do głowy wpadnie, wspólne wydarzenia czy coś.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.