Użytkownik ma role dla systemów - jak (obiektowo) modelować relację trójskładnikową?

Mam następujące Jednostki:

Privilege ( Id, Name )
Role ( Id, Name, ICollection<Privilege> )
System ( Id, Name )

User ( Id, Name, Pass, ? )

Teraz chcę modelować „Użytkownik może mieć dla każdego zero lub więcej systemów zero lub więcej ról”, np .:

IDictionary<System, ICollection<Role>> SystemRoles { get; set; }

Czy jest to możliwe z ASP.NET EntityFramework? Jeśli tak, w jaki sposób? Jakie atrybuty muszę ustawić?

Rozglądałem się już od jakiegoś czasu, jednak nie znajduję niczego użytecznego w sieci dla „kodu frameworka encji pierwszej relacji trójskładnikowej”

Czy możesz mi wskazać jakiś fajny link, który jest szczegółowo opisany? A może daj mi wskazówkę, jak modelować / które atrybuty mogę umieścić w słowniku?

Dodatkowe pytanie: Jeśli rozwiązanie IDictionary działa w jakiś sposób, czy są jakieś zmiany w celu uzyskania zmiany wydajności proxy proxy? IDictionary nie jest ICollection ...

questionAnswers(1)

yourAnswerToTheQuestion