Bewährte Methode zum Beitreten zu nhibernate- und ASP.NET-Diensten für Mitgliedschaft, Rolle und Profil

Ich habe eine generische ASP.NET (MVC) -Anwendung, die NHibernate als Modellpersistenzschicht und ASP.NET-Mitgliedschafts- / Rollen- / Profildienste als Benutzerverwaltungsschicht verwendet.

Die Frage ist, was als die beste Vorgehensweise zum Herstellen von Verknüpfungen zwischen den Domänendaten und den Benutzern angesehen werden kann. (Zum Beispiel möchte ich ein Forensystem erstellen, indem ich jedes Thema / jeden Beitrag mit einem bestimmten Benutzer verknüpfe und den Benutzer bei jeder Anfrage anzeigen möchte.)

Dies sind die Möglichkeiten, über die ich nachgedacht habe:

Speichern Sie die Benutzer-ID in NHibernate (z. B. mit einer Guid-Spalte in allen Domänenklassen (Posts, Topics usw.), die auf einen Benutzer verweisen muss) und verwenden Sie GetUser jedes Mal, wenn Sie den Namen des Benutzers aus der Guid benötigen (was dazu führen kann) in n + 1 Abfragen)

B-Variante: Alternativ auch den Benutzernamen speichern.

Verwenden Sie dieselbe Datenbank, und erstellen Sie ein schreibgeschütztes NHibernate-Domänenobjekt "Benutzer", das denselben Daten wie die M / R / P-Dienste zugeordnet ist.Vergessen Sie M / R / P und erstellen Sie einen separaten Benutzerverwaltungsdienst, der auf NHibernate basiertVergessen Sie beides und verwenden Sie J2EE / RoR / merb / DJango / etc. (Bitte wählen Sie diese Option nicht aus :))andere...

Antworten auf die Frage(3)

Ihre Antwort auf die Frage