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