Beim Erstellen einer neuen ASP.NET MVC-Anwendung habe ich ein Problem mit der Methode, die ich verwende, um von Benutzern erstellte Daten für temporäre Benutzer zu speichern, die noch kein Konto erstellt haben was ich dann versuche, zu einem echten Benutzer zu konvertieren. Das wahrscheinlich machen nicht viel Sinn, so lassen Sie mich erklären:LINQ to SQL - Konvertieren von temporären Benutzern in echte Benutzer
- Ein Besucher der Website-Profileinstellungen eingeben können, bevor sie mit einem Benutzernamen, Passwort, usw.
- Datenbank Ich schaffe registrieren gemacht wird Einträge über LINQ to SQL für einen neuen Benutzer in diesem Fall, wobei der Wert von Request.AnonymousID als temporärer Benutzername verwendet wird.
- Wenn der Benutzer sich für die Registrierung entscheidet, muss ich die relevanten Datenbankeinträge wechseln, um den neu eingegebenen Benutzernamen anstelle des temporären zu verwenden.
Das Problem ist, dass, wenn ich versuche, den Datensatz zu aktualisieren ich kann nicht, weil der Benutzername der Primärschlüssel ist, so bin ich gezwungen, den Datensatz zu löschen und eine neue hinzufügen ...
Ich kann wahrscheinlich damit durchhalten, aber ich denke, ich könnte das völlig falsch machen und mich fragen, ob jemand einen besseren Weg vorschlagen könnte, um Besuchern zu erlauben, Informationen zu speichern, bevor sie sich registriert haben, und diese dann weitertragen .
Ich weiß über Profile, möchte aber, dass die Profilinformationen für andere Besucher verfügbar sind. Ich weiß auch, dass ich ein anonymes Profil erstellen kann, aber es scheint, dass ich in der Lage sein sollte, das Datenmodell aus der Datei web.config zu behalten.
ich ziemlich überrascht bin du Der Primärschlüssel kann nicht aktualisiert werden, solange er nicht mit anderen Daten in der Tabelle kollidiert. Welchen Fehler/welche Ausnahme sehen Sie? – tomfanning
Vielleicht ist es das nicht. Ich habe gerade nicht den Fehler vor mir, aber ich weiß, dass wenn ich versuchte, + add stattdessen zu löschen, ich einen Fehler "kann nicht an Entität anhängen, die bereits existiert". Ich habe ein Feld, das eine Identität ist und so kann es sein, dass ich ein Problem habe, einen neuen Wert für dieses Feld zu generieren. Ich habe auch eine FK-Beziehung zwischen dem Benutzernamen in den zwei Tabellen, die ich ändern möchte. – curlyfries
Also ... ähm ... ja. Vielleicht ist der Fremdschlüssel das Problem und ich sollte es einfach entfernen. – curlyfries