2

当我尝试将新对象添加到本地数据库时,我有这种通信:

表定义或行大小超过最大行大小 8060 字节。

我的表具有以下结构:

[Table]
public class SomeClass
{
    [Column(IsPrimaryKey = true, IsDbGenerated = true, CanBeNull = false, AutoSync = AutoSync.OnInsert)]
    public int Id { get; set; }
    [Column]
    public string String1 { get; set; }
    [Column]
    public string String2 { get; set; }
    [Column]
    public string String3 { get; set; }
    [Column]
    public string String4 { get; set; }
}

其中 3 个字符串(String2、String3、String4)将包含 2000-3000 个字符。当我尝试编写较小的数据(1000 到 1500 个字符之间)时,一切正常。

我怎样才能解决这个问题?

4

1 回答 1

2

SQL Server 将记录存储在页面中,页面为 8k,因此记录不能超过该大小(与 8k 的差异是管理日期)。

您需要将文本列定义更改为textntextvarchar(max),nvarchar(max)以存储更长的文本。这些 blob 列不受页面大小的限制。

于 2012-10-13T14:31:22.447 回答