0

SQL Server 2008 データベースに「xml」タイプの列 (MetaData という名前) があります。私のマッピングは次のとおりです。

Table("AuditLogs");
Id(x => x.Id, "AuditLogRecId").GeneratedBy.Identity();
Map(x => x.MetaData)

大量のデータを挿入しようとすると、(多数のレコードを挿入する場合) 時々、エラーが発生します: xml 解析行 1 文字 4000 予期しない入力の終わり。

MetaData 列のマッピングを次のように変更しました: Map(x => x.MetaData).Length(1000000000);

エラーは発生しませんが、これがこの問題を解決する正しい方法であるかどうかはわかりません。これについて何か良いアドバイスをいただきたいです。

前もって感謝します。

4

1 に答える 1

1

実際には次のように変更します。

Map(x => x.MetaData).Length(Int32.MaxValue);

その理由は、xml 列タイプの最大長が 2 GB であるためです。指定しない場合、NHibernate はデフォルトで 4000 バイトになると思います。

于 2012-09-17T19:31:53.433 に答える