Aud*_*ius 5 .net sqlite data-synchronization
是否有可能使用某种类型的转换器,允许Sync Framework将字符串"0"/"1"视为false/true的布尔值.根据bool.parse文档,默认情况下不支持它,所以它有解决方法吗?
更多细节,以防有人可以建议不同的方法来解决这个问题:我有一个针对Android的自定义Sync Framework客户端实现,因为它使用SQLite数据库,我无法在表字段上强制执行某些严格的数据类型.我可以拿出约定来指示布尔字段,例如,"Is"前缀,但这将是令人讨厌的.另一件事是SQLite中的布尔值被视为数字类型,因此插入/更新boolean false/true到SQLite数据库会自动将它们转换为0/1而我不想在android端引入一些TRUE/FALSE = 1/0转换.
欢迎任何想法.
[更新]更多详细信息:服务器端包含一些使用Microsoft Sync Framework 4.0 CTP的服务.除了创建范围等之外,没有太多要配置.客户端生成变更集并使用JSON格式将其传输到服务器.变更集来自SQLite数据库(并且SQLite没有除数字0/1之外的任何本机布尔表示),因此在读取数据库时,没有迹象表明即将到来的数据是布尔类型的.字段值作为字符串序列化为JSON对象,具有数值("0"或"1"),因此服务器端在尝试将其解析为bool时失败.
顺便说一句,如果进行单向客户端到服务器同步,可以解决它.我手动将服务器端实体字段类型设置为字节,Sync Framework很好地将其用作"位"数据库类型.此解决方法不适用于服务器到客户端.
所以看来不可能以任何简单的方式做我要求的事情。最后,我选择向 android 同步库编写附加功能来解析 SQLite 表定义并使用字段描述来格式化传出同步数据。
感谢大家的努力。
| 归档时间: |
|
| 查看次数: |
7672 次 |
| 最近记录: |