我正在尝试将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 { ... }