5

SQL varchar(max) に列があります。LINQ を使用して、64k を超える文字列を持つレコードを追加しようとすると、値が DB に保存されません。私はただやっているだけです。

test.MyString = LargeString; //(over 64k text)
mydb.myTable.InsertOnSubmit(test);
mydb.SubmitChanges();

LINQ to SQL を使用する際に制限はありますか? これを行う正しい方法は何ですか?

4

1 に答える 1

8

VarChar(Max)最大 8000 文字の文字列をサポートします (SQL Server 2k)。2005 以降では、これによってエラーが発生することはありません。

Textフィールドを使用したい場合があります。SQL Server 2005+ の場合、VarChar(Max)推奨されます。

重要

ntext、text、および image データ型は、MicrosoftSQL Server の将来のバージョンで削除される予定です。新しい開発作業でこれらのデータ型を使用することは避け、現在それらを使用しているアプリケーションを変更することを計画してください。代わりに、nvarchar(max)、varchar(max)、および varbinary(max) を使用してください。大規模な非 Unicode および Unicode 文字とバイナリ データを格納するための固定長および可変長のデータ型。Unicode データは UNICODE UCS-2 文字セットを使用します。

VarChar および Text データ型の詳細については、こちらを参照してください

  1. SQL Server のテキスト型と varchar データ型
  2. MSDN: ntext、text、および image

InsertOnSubmit私はあなたが電話をmydbかけ続けていることに気付きSubmitChangesましたISNetDB- これはタイプミスなのか、それともエラーの原因なのか.

于 2011-08-04T15:21:13.107 に答える