Benutzer hat Rollen für Systeme - wie kann man ternäre Beziehungen (objekt-) modellieren?

Ich habe die folgenden Entitäten:

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

User ( Id, Name, Pass, ? )

Nun möchte ich modellieren "Ein Benutzer kann für jedes von null oder mehr Systemen null oder mehr Rollen haben", z.

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

Ist dies mit ASP.NET EntityFramework möglich? Wenn ja wie Welche Attribute muss ich einstellen?

Ich habe mich schon seit einiger Zeit umgesehen, finde jedoch nichts Nützliches im Internet für "Entity Framework Code First Ternary Relation".

Können Sie mich auf einen netten Link verweisen, auf den dies im Detail eingeht? Oder gib mir vielleicht einen Hinweis, wie ich es modellieren soll / welche Attribute kann ich dem Wörterbuch hinzufügen?

Zusätzliche Frage: Wenn die IDictionary-Lösung irgendwie funktioniert, gibt es eine Änderung, um die Proxy-Leistung für die Änderungsverfolgung zu erhalten? IDictionary ist keine ICollection ...

Antworten auf die Frage(1)

Ihre Antwort auf die Frage