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

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

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

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

     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

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.

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:

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ś.

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