I have been talking about O/R Mappers way too long. I remember playing with Retina.net in its very early stages and how much I enjoyed the architecture and features of it. I thought the o/r mapper had faded away, but recently the developer released a 2.0 version of the O/R Mapper that includes a number of fixes as well as support for SQL Server 2008 DataTypes and a DSL Designer for Visual Studio 2008.
I haven't played with the new release, but if you are looking for an O/R Mapper or just interested in looking at source code involving data access and O/R Mapping, you may want to download the source code and binaries for Retina.net and take it for a spin. The new features mentioned on CodePlex include:
- Reading of database generated values using OUPUT clause in SQL 2005/2008. It eliminates one or more reads from the inserted / modified row.
- Added support for identity columns not being Primary Keys.
- New SQL 2008 dataStore supporting Datetime2, Time, Date, DatetimeOffset & FILESTREAM.
- Support for the new Stream data type. It supports chunked download & upload of BLOBs to database.
- Added support for IN and NOT IN criteria operators.
- OuterJoin Load support for child entities & collections.
- Caching support for entities.
- Retina .NET compiled for .NET 2.0 & Visual Studio 2008.
- Removed NullableType & NUnit dependency.
- Added Generic methods support for ObjectContext high level API.
- Added VistaDB 3.0 support (preliminar).
- Added Compact Sql support.
- Added Generic child collections & sets.
- Added LCG support (DynamicMethod) to avoid reflection.
- Updated Castle Dynamic proxy to v2.0.
- Created a new DSL designer for VS2008 (preview 2).
- Added support for entity fields validation attributes (based on EViL)
- Entity map internal implementation to allowing load of circular entity references.
- Support for generic IList for Retrieve operations.
- Add TRACE support for SQL commands in DataStoreBroker base class.
- Added Retrieve method to ObjectContext to return generic IList.
- Add Stream data type support for loading (and now saving) large binary files from DB async.
- Add EndsWith & NotEndsWith Criteria operator.
Learn more about the Retina.net O/R Mapper here.
Check out other O/R Mappers and Code Generation Tools.
Recent O/R Mapper Posts