Ich verwende die ASP.Net-Mitgliedschaft, um meine Site zu sichern, und habe eine Frage dazu, wie ich zusätzliche Benutzerinformationen speichern kann. Durch das Googlen und Lesen anderer Fragen glaube ich, dass die 3 akzeptierte Ansätze zum Speichern zusätzlicher Daten haben.
Ich habe eine neue Tabelle zusätzlich zu den ASP.Net-Mitgliedschaftstabellen namens User_Information erstellt, die über einen 1: 1-Fremdschlüssel für aspnet_Users verfügt. Muss ich beim Erstellen einer neuen Tabelle zum Speichern von Informationen, die mit einem Benutzer verknüpft sind (z. B. Kommentare, Abstimmungen usw.), den Fremdschlüssel so festlegen, dass er auf aspnet_User oder meine Tabelle User_information zeigt?
Danke
Das hängt von der Art Ihrer Abfragen ab.
Der Mitgliedschaftsanbieter bietet Ihnen einfachen Zugriff auf die Benutzer-ID-Spalte aus der Tabelle aspnet_Users. Es wird eine zusätzliche Abfrage benötigt, um die ID von Ihrer Tabelle zu erhalten.
Wenn die meisten Ihrer Abfragen jedoch trotzdem der Tabelle "User_Information" beitreten müssen, spielt dies möglicherweise keine Rolle.
Ich benutze den gleichen Weg wie du. Ich habe eine schwache Referenz ohne irgendeine physische Beziehung zwischen diesen beiden Tabellen. Es funktioniert vollkommen in Ordnung für mich. Um Abhängigkeiten zu verwalten, können Sie die Datenbankoperationen in Transaktionen für beide Tabellen einschließen.
Ich empfehle, keinen Fremdschlüssel zu erstellen und mit diesem Design fortzufahren.
Tags und Links asp.net asp.net-membership membership