See it in action in this 6 minutes video: http://www.youtube.com/watch?v=LlJHgj1y0CU
RC1 R2 Release highlights
Using the Knockout.js module, your UI can be automatically refreshed when the data model changes, so you can develop the front-end of your data manager app even faster.
Querying 1:N relations in WebSQL & SQLite
SQLite and WebSQL providers now supports entity ID-based sub-selects.
Refactored Model binder
Developing your own provider is much easier based on the refactored model binder subsystem.
Better comments in IntelliSense and API reference
We not just improved the documentation in terms of code comments, but the API reference is auto-generated from the sourcecode.
- SqlFilterCompiler.js: supports IN Queryable, throwing error if not a single field is projected in the given query
- ADD: Knockout module v1
- ADD: detach function to EntitySet
- API reference can be generated from the JS files
- ADD: namespace on classes
- ADD: toArray() accepts array parameter as well (besides the callback function), and able to populate it with the results
- ADD: Code comments (Entity.js, EntitySet.js, Queryable.js, EntityContext.js)
- sqLiteStorageProvider.js: refrencing table name and fields with brackets
- ModelBinder.js: refactored model binder class
- sqLiteModelBinderTests.js: new expected config objects for model binder
- FIX: propertyChanged throw an error when propertyChanging not used on Entity
- fix $data.expressions.expressionNodeTypes casing
- fix: static field declaration
- fix some doc generation warnings
- CHANGE: Typesystem Container.registerType third parameter is a factoryFunc for type
- Container.registerType() has a third optional parameter, which can act as a factory function
- FIX: forEach() and toArray() has frameExpressions