Ich habe das folgende Modell:
%Vor% Ich habe das Feld BlogContent
manuell auf ntext
type (16 Bytes) in der SQL CE4
-Datenbank gesetzt.
Jedes Mal, wenn ich versuche, mehr als 4000 Zeichen einzugeben, wird jedoch folgender Fehler ausgegeben:
Die Validierung ist für einen oder mehrere fehlgeschlagen Entitäten. Siehe 'EntityValidationErrors' Eigenschaft für weitere Details
Ich habe versucht, die Annotation für [Column(TypeName="ntext")]
zu setzen, aber das macht keinen Unterschied. Wenn ich die EntityValidationErrors
-Auflistung durchschlinge, wird das Problem von BlogContent
verursacht und der Fehler sagt:
String darf nicht länger als 4000 Zeichen sein
Wie kann ich mein Modell so definieren, dass es ein ntext
-Feld für BlogContent
hat?
Es scheint, dass alle Datenannotationen ignoriert werden. Es wird vorausgesetzt, dass ein String ohne MaxLength
standardmäßig auf 4000 Zeichen begrenzt ist.
Ich habe es gelöst, Sie müssen verwenden:
%Vor%Siehe Details hier: Ссылка
Um eine Spalte
ntext
in der Datenbank zu erstellen und die Modellüberprüfung zuzulassen um zu wissen, dass die Stringlänge mehr als 4.000 Zeichen betragen kann muss diese zwei Elemente verwenden:
[Column(TypeName="ntext")]
: Dadurch wird Code-First angewiesen, ein ntext Feld in der Datenbank.
[MaxLength]
: Durch Verwendung des Standardwerts Konstruktor, es dauert die maximale Länge des Datenbankfeldes, anstatt die maximale Länge für eine Zeichenfolge zu erraten, die 4.000 ist. Wenn das ist fehlt oder Sie legen explizit die maximale Länge fest, z. B.[MaxLength(8000)]
, Modellvalidierung Raise Fehler mit der Aussage "String maximale Länge ist 4.000 Zeichen".
Tags und Links code-first sql-server-ce ntext