SimpleMembership - E-Mail zu UserProfile hinzufügen - System.Data.SqlClient.SqlException: Ungültiger Spaltenname "E-Mail" -Fehler

8

Ich bin mir ziemlich sicher, dass ich alle Schritte verfolgt habe, aber anscheinend etwas verpasst habe. Verwenden von simplemembership in der MVC4-App. Fügen Sie der Tabelle "UserProfile" und den Modellen "Register" und "UserProfile" eine E-Mail hinzu, fügen Sie sie der Methode "Register" hinzu, erhalten jedoch weiterhin den Fehler. Hier ist ein Code:

Modelle:

%Vor%

Controller:

%Vor%

Ich versuche nicht, die E-Mail-Adresse als Login zu verwenden, sondern möchte sie einfach während des Registrierungsschritts erfassen, damit ich eine Bestätigungs-E-Mail senden kann.

Ich habe es mit der UserProfile-Tabelle ausprobiert, die im EF-Modell enthalten ist, und damit auch keinen Unterschied. Ich habe bestätigt, dass die Tabelle in der DB eine E-Mail-Spalte hat.

    
BattlFrog 21.05.2013, 19:55
quelle

2 Antworten

0

Wenn Sie die Standardverbindung verwenden, öffnen Sie die Datenbank, indem Sie auf Ansicht - & gt; Server Explorer erweitern Sie dann die DefaultConnection. Unter Tabellen sehen Sie die Tabelle UserProfile. Fügen Sie zuerst Ihre Spalten zur Tabelle hinzu und aktualisieren Sie die Datenbank. Fügen Sie dann Ihre zusätzlichen Felder zur Klasse hinzu.

    
Laszlo 23.09.2013 09:38
quelle
0

Ich vermute, dass die E-Mail-Eigenschaft (in Ihrer UserProfile-Klasse) etwas war, das Sie nach dem ersten Ausführen der Anwendung hinzugefügt haben, also wenn die Tabelle bereits existiert, bevor Sie Ihr Modell geändert und die E-Mail-Eigenschaft It hinzugefügt haben könnte die Ursache für die Ausnahme sein.

wie Sie selbst in einem Ihrer Kommentare erwähnt haben:

  

Wenn ich den Abschnitt, neue {E-Mail usw. 'von der Methode Register in der Steuerung entferne, passiere es gut

Um das zu beheben, denke ich, dass Sie so etwas in Ihrer DbContext-Klasse "liven" tun müssen (vorausgesetzt, Sie verwenden den Code zuerst):

%Vor%

Die Standardeinstellung ist CreateDatabaseIfNotExists . Wenn Ihre UserProfile-Tabelle bereits vorhanden war, wurde sie nicht erneut erstellt und die neue E-Mail-Eigenschaft wurde nicht gefunden (sie war in Ihrem Modell, aber nicht in die Datenbanktabelle);

    
yoav barnea 20.12.2013 12:02
quelle