Entity Framework relacje

0

Witam. Robię Webową apkę . Mam encję Delegacja. Encja ta zawiera odniesienie do ApplicationUser (To jest ten kto utworzył daną delegację). Ale potrzebuje też mieć w niej odniesienie do użytkownika który będzie akceptował tą delegację. Czy powinno być to jako relacja w bazie czyli klucz obcy z atrybutem [ForeignKey("ApplicationUser")] ? Czy wystarczy sam string z Id ?
public class Delegacja
{
///różne pola
public ApplicationUser User {get;set;}
public string UserId {get;set;}
}
I drugie i jeśli w Klasie Delegacja będzie ten klucz obcy to czy w ApplicationUser muszę robić Kolekcję tych delegacji ?

1

string jak Id? Lepiej użyj Guid, int, long ale nie string

0

Czy powinno być to jako relacja w bazie czyli klucz obcy z atrybutem

Tak.

Czy wystarczy sam string z Id ?

Jak już kolega wyżej pisał, Id nie powinno być string'iem.

I drugie i jeśli w Klasie Delegacja będzie ten klucz obcy to czy w ApplicationUser muszę robić Kolekcję tych delegacji ?

Tak.

0
cSharpKazik napisał(a):

Jak już kolega wyżej pisał, Id nie powinno być string'iem.

A Wy Panowie wiecie co to jest ApplicationUser ?

0
szydlak napisał(a):
cSharpKazik napisał(a):

Jak już kolega wyżej pisał, Id nie powinno być string'iem.

A Wy Panowie wiecie co to jest ApplicationUser ?

Tak proszę Pana, ale to już nie moja wina że zostawiasz sobie taki szablon i myślisz że tak musi być.

0

Skoro ktoś to dał do szablonu domyślnego tzn ze chyba się sprawdza. Po co mam wymyślać swoje mamo jambo

0

"I drugie i jeśli w Klasie Delegacja będzie ten klucz obcy to czy w ApplicationUser muszę robić Kolekcję tych delegacji ?"

Nie, nie musisz, jeśli nie jest Ci potrzebna.

0
szydlak napisał(a):

Skoro ktoś to dał do szablonu domyślnego tzn ze chyba się sprawdza. Po co mam wymyślać swoje mamo jambo

ID jako string to drastyczny spadek wydajności. To jest jeden dobry powód :)

0
Juhas napisał(a):
szydlak napisał(a):

Skoro ktoś to dał do szablonu domyślnego tzn ze chyba się sprawdza. Po co mam wymyślać swoje mamo jambo

ID jako string to drastyczny spadek wydajności. To jest jeden dobry powód :)

Też to wyczytałem właśnie na stacku. A masz może gdzieś linka jak zmienić ta konwencję domyślną?

0

Warto też poczytać o Fluent API w code first. :)

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