Die Eigenschaft 'text' ist Teil der Schlüsselinformation des Objekts und kann nicht geändert werden

8

Ich habe also eine Tabelle in der Datenbank mit einer Spalte, die einfach ein Nvarchar (800) ist.

Wenn ich es versuche:

%Vor%

Ich bekomme die Ausnahme in Catch: "The property 'text' is part of the object's key information and cannot be modified."

Wenn ich in die Tabelle gucke, sehe ich nichts unter "key" oder "index". Es ist also kein Schlüssel, ich verstehe nicht, warum C # mir falsche Informationen gibt. Nichts in SQL Management Studio sagt etwas darüber aus, dass "Text" ein Schlüssel oder ein Index ist. Was mache ich?

    
Dexter 06.01.2011, 20:36
quelle

4 Antworten

16

Gibt es überhaupt eine PK auf dem Tisch? Wenn nicht, verwendet EF alle Felder / Spalten als Teil der "Schlüsselinformationen".

    
lukiffer 06.01.2011, 20:40
quelle
0

Zeigen Sie das Datenmodell an, indem Sie auf die edmx-Datei im Ordner Models doppelklicken.

Stellen Sie sicher, dass die Tasten richtig zugeordnet sind. Wenn Sie mit der rechten Maustaste auf eine Spalte klicken, können Sie die Entity Key-Eigenschaft umschalten. Sobald die betreffende Spalte nicht als Entitätsschlüssel markiert ist, sollten Sie in der Lage sein, den Wert zu aktualisieren.

    
Tom Hubbard 24.10.2011 14:22
quelle
0

Befolgen Sie diese einfachen Schritte

Schritt 1: Überprüfen Sie, ob Ihre Tabelle eine Primärschlüsselspalte in der Datenbank hat oder nicht. Wenn es keinen Primärschlüssel hat, fügen Sie einen Primärschlüssel hinzu. Wenn wir der Tabelle keinen Primärschlüssel hinzufügen, erstellt das Entitätsframework eine eigene Schlüsselsammlung und fügt alle darin enthaltenen Spalten hinzu.

Schritt 2: Öffnen Sie Ihre EDMX-Datei, um die Tabellenobjektzuordnung anzuzeigen. Sie können sehen, dass jede Tabellenspalte ein Symbol wie einen Primärschlüssel hat. Also schreibe auf deine Seite und aktualisiere .edmx aus der Datenbank.

Schritt 3: Wenn Sie immer noch die gleichen Primärschlüssel-Symbole in allen Spalten sehen, klicken Sie auf den Spaltennamen, den Sie einzeln aktualisieren möchten, und gehen Sie zum Eigenschaftenfenster und setzen Sie die Entity Key-Eigenschaft auf false.

    
user193887 12.12.2013 07:47
quelle
0

Das Problem hierbei ist, dass Entity Framework keine Änderungen am Primärschlüssel der bestimmten Tabelle vornehmen kann. Wenn Sie jetzt keinen Primärschlüssel für Ihre Tabelle angegeben haben, betrachtet das Entitätsframework alles als Primärschlüssel, sodass Sie keine Änderungen an der Tabelle vornehmen können. Sie müssen einen Primärschlüssel in der Tabelle definieren, die Tabelle aus Ihrem Modell im Modellbrowser löschen und dann die Tabelle im Modell erneut hinzufügen. Dies soll es sicher beheben. Glückliche Kodierung. Prost!

    
Ketan Dubey 02.03.2017 12:41
quelle

Tags und Links