Sie müssen den Typ Body
in byte[]
von string
für ServiceStack.OrmLite konvertieren, um den Spaltentyp varchar(max)
zu verwenden. Etwas wie das Folgende:
Der Grund hierfür liegt im ServiceStack.Ormlite-Code.
In der Datei ServiceStack.Ormlite / OrmliteDialectProviderBase.cs , unter der Methode InitColumnTypeMap()
ist:
In der Datei ServiceStack.OrmLite.SqlServer / SqlServerOrmLiteDialectProvider.cs , unter der Methode SqlServerOrmLiteDialectProvider()
ist:
Aus diesem Code können Sie sehen, dass eine interne Zuordnung vom C # -Typ zum internen ServiceStack.Ormlite-Typ stattfindet und dann zum SqlServer-Typ zurückkehrt.
Diese Frage erläutert, wie Sie zwischen Zeichenfolgen und Bytearrays konvertieren können. Wie erhalte ich eine konsistente Bytedarstellung von Zeichenfolgen in C #? ohne manuell eine Codierung anzugeben? .
Angenommen Sie wirklich möchten NTEXT
. Wenn Sie nvarchar(max)
oder varchar(max)
möchten, sehen Sie Ссылка
Gestalten Sie Ihr Domänenmodell mit System.ComponentModel.DataAnnotations.StringLengthAttribute
wie
%Vor%oder
%Vor% Verwenden Sie eine beliebige Länge größer als 8000, um die maximale Länge von Sql Server varchar
/ nvarchar
Spaltentypen zu überschreiten.
Verwenden Sie einen benutzerdefinierten Dialektanbieter, der die NTEXT
-Deklaration versteht.
Verwenden Sie den Anbieter, wenn Sie die Datenbankfactory erstellen
%Vor%Tags und Links sql-server c# servicestack code-first ormlite-servicestack