Saturday, May 02, 2009

DataObjects.NET v4.0 got LINQ and upgrade API

Only quick info for now, details will follow tomorrow:
- Almost complete LINQ support. Now only 12 tests out of almost 700 for LINQ are falling (~ about 15 are ignored), so we consider this part is 90% done. List of currently existing issues and lacks will be published shortly. See updated Console Sample - now it executes a bit more complex queries.
- First working version of our cool upgrade API. There are much more issues for now - e.g. it works only on SQL Server, understands results of our schema comparison layer only partially (for now it can't translate move or rename actions for columns and tables) and so on. But there is working Upgrade Sample utilizing this part of API, including IUpgradeHandler. We bet you dreamed about nearly this feature in v3.9 ;)
- We've started to work on our query optimizer for indexing storages. You can see what it already can do in Consile Sample - take a look on RSE queries it dumps on In-memory Storage, and you'll find we already automatically utilize secondary indexes! So if you even dreamed about storing indexed objects in memory and use LINQ to query them, we've just brought this to you. Obviously index access optimization isn't the only one we run - right now we support nearly the same optimizations as SQLite can do.
- There are some other new features, e.g. CachedQuery. To get some query cached, just wrap it into CachedQuery.Execute(() =>[YouOriginalQuery]). Btw, we implemented this pattern better than in EF - we don't require you to write a parameterized lambda here, and thus allow to use cached queries "in place".

That's all the brief description. Have a nice weekend!

P.S. Installers are already updated.

No comments:

Post a Comment