我正在尝试从 Map 控件获取快照作为 WritableBitmap,将其转换为字节数组并将其保存在本地数据库中。它工作正常(我可以将字节数组转换回图像)直到我将更改提交给数据库。此时它抛出异常“字节数组截断到8000的长度”。我没有找到任何有关字节数组限制的文档。有谁知道如何增加8000的限制?我的字节数组是我的模型的成员:
private byte[] _locationImage;
[Column]
public byte[] LocationImage
{
get { return _locationImage; }
set
{
if (_locationImage != value)
{
NotifyPropertyChanging("LocationImage");
_locationImage = value;
NotifyPropertyChanged("LocationImage");
}
}
}
最佳答案
如果你看the SQL Compact docs ,您会看到 binary 或 varbinary 字段最多可以有 8000 个字节,所以这告诉我 byte[]
列被映射到 varbinary。要让它存储比这更大的数据,您需要让引擎使用 image
字段类型。这可能就像像这样更新 Column
属性一样简单(未经测试):
[Column(DbType="image")]
public byte[] LocationImage { ... }
关于database - 本地DB抛出字节数组截断到长度为8000异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8431532/