我正在尝试将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,你会发现二进制或varbinary字段最多可以是8000字节,这样就可以告诉我byte []列被映射到varbinary.要使它存储大于此数据的数据,您需要让引擎使用图像字段类型.这可能就像更新像这样的Column属性一样简单(未经测试):
[Column(DbType="image")] public byte[] LocationImage { ... }