Hi all, like all apps, my apps need to store local data, as well as support data sync. I've worked all day searching for existing solutions, pro and cons for each.
Requirements:
Database manipulation:
- uses linq syntax
- may use the "optimized" api of sqlite on android
Database generation
- may support support poco generation by using an edmx model file ("model first" style), using T4 templates
- index support would be better, small memory footprint, fast startup / execution
Offline database / sync with an online db
- support for offline change tracking
- support online syncing with optimistic concurrency exceptions
- Using the opensourced Microsoft Sync Framework would be a "+"
I found:
- siaqodb + Microsoft Sync Framework
+ all requirements met
+ 3 years, some big customers
- proprietary db format
- not free
+ 3 years, some big customers
- proprietary db format
- not free
- BrightstarDB
+ requirements met, but it misses a Microsoft Sync Framework offline provider
- young (1 year)
+ free
+ was a commercial product, now open sourced
- the company may not release new versions / fixes
- proprietary db format
- young (1 year)
+ free
+ was a commercial product, now open sourced
- the company may not release new versions / fixes
- proprietary db format
- Tiraggo
- messy
- uses mono sqlite
- uses mono sqlite
- TouchDb
+ requirements met, offline sync not compatible with MsSyncFramework
- compatible only with crouchDb
- compatible only with crouchDb
As the information about sqlite and nosql dbs compatible with mono/android is hard to gather, I suppose I have missed one.
What ORM framework do you use ?