ODX 1.6.1

Rating:        Based on 2 ratings
Reviewed:  2 reviews
Downloads: 3078
Released: Nov 11, 2007
Updated: Nov 11, 2007 by odx
Dev status: -not yet defined by owner-

Recommended Download

Source Code Solution & Samples
source code, 251K, uploaded Nov 11, 2007 - 3078 downloads

Release Notes

ODX 1.6.1
  • Automatic database schema creation and upgrade - use DbDataProvider.PrepareDatabase to keep database fresh and valid. Also you can use DbDataProvider.CreateDatabase to create tables in empty database and DbDataProvider.UpgradeDatabase to upgrade database according to changes in persistent classes.
This release is technological preview. Now only SQL-92 data types are supported. Algorithm is the following: first database schema is generated. And generated schema is saved (temporary ie is saved to a file; in final solution it will be saved to database somehow or even read directly from database). The next call to PrepareDatabase ODX compares required and existing (saved last call) schemas and generate SQL-script to update changed tables and create new ones. and, finally, updates saved schema.

ODX 1.6 - 1.0
  • Documentation is released for the first time!
  • Row Versions - use Table attribute to force ODX to use row version for concurrency control. Otherwise ODX uses foll row compare.
  • IIS Remoting - use IIS as an excellent application server. No server code is required to implemen a simple IIS-based ODX server.
  • Unique constraints - specify unique constraint to the class underlying table with UniqueConstraintAttribute.
  • Unique constraints again - use Session.Save(SaveMode.Concurrent) to safely handle Unique constraints. SaveMode.Concurrent throws a DBConcurrencyException. SaveMode.Overwrite deletes DB versions of data and inserts your in-memory versions.
  • Data Replication loading data from remote node of distributed system may require smart update option: existing object should be updated, new ones - created. But all objects are unchanged as they were read from remote data source. ODX now delivered such sort of update. Simply accumulate data from the remote DB in a separate Session and use Session.Save(SaveMode.Complete) to send all data to data source.
  • Fixed a "collection was modified" exception (was throwed in some cases).
  • Custom SQL selects - feel free to retrieve objects with custom SQL. Paging is connected to custom SQLs as well. See Sample #12 for details.
  • Weak entity cache - entities are removed from cache if unreferenced.
  • Smart merging - use Session.Combine() to safely resolve Unique constraint conflicts.
  • Parameterized Selects - use '?' to specify a parameter for a filter
  • Remoting - transfer entities via remoting channels with Odx(Server,Client)FormatterSinkProvider.
  • Paging - iterate huge rowsets with minimum memory.

Reviews for this release

Awesomely done. Good features and design architecture.
by adeel41 on Aug 12, 2009 at 11:47 AM
That's a good Framework. I liked the quality of the furnished documentation. Good job.
by dragonrusse on Mar 26, 2009 at 5:56 PM