Take a look at http://www.ORMapper.net for the latest on the WilsonORMapper!
Announcing the WilsonORMapper -- Object-Relational Mapper for .NET.
Automatically retrieve and persist objects from MS Sql, Access, etc.
- Largely compatible with the syntax of MS ObjectSpaces in .NET v2.0.
- Supports MS Sql, Access, and Oracle -- should work with others too.
- No need to inherit objects from a base class or embed any attributes.
- Object-relational mappings are made in an extremely simple xml file.
- Includes a Windows ORHelper to generate the mapping and class files.
- Can optionally use stored procedures for any and all data operations.
- Explicitly create objects with new and StartTracking, or use GetObject.
- Retrieve individual objects by key (identity, guids, or user-entered).
- Retrieve collections as a static ObjectSet or a cursor ObjectReader.
- Query with any where and sort clauses, or setup a default sort order.
- Supports paged collections -- queries can specify page index and size.
- Now supports one-to-many, many-to-one, and many-to-many relationships,
- with optional lazy-loading to reduce unnecessary loads from database.
- Collections support one-way read-only binding for both Web and Windows.
- Persist individual objects, or a collection of objects in transaction.
- Separate instances can be created for multiple databases or providers.
- Easy to deploy with simple x-copy in shared web hosting environments.
- Supports server systems with a configurable session and cleanup time.
- Free to demo in VS.NET debugger, purchase of $50 includes C# source.
Online Demo: http://www.wilsondotnet.com/Tips (including paged grids)
Free Demo: http://Download.WilsonDotNet.com/WilsonORMapperDemo.zip
- Also included in purchase is the entire source code of WilsonDotNet.
- This includes the WilsonWebForm control for multiple server forms.
- Also included are dynamic MasterPages, stylesheets, and localization.
Why? I'm not trying to compete with Frans' LLBLGen Pro or EntityBroker.
I'm simply extending my best practices website with the next logical extension.
I can't do that with a third party O/R Mapper and still offer fully working source.
Note: The Demo's limitation is that it only works inside the VS.NET debugger.
Update: WilsonORMapper v18.104.22.168 (3/4/2004) includes the following:
(1) Build simple expressions with an OPath-like syntax using the QueryHelper.
(2) User can define fields for optimistic concurrency, or read-only fields.
(3) Updates can optionally be only the changes, with or without concurrency.
Update: WilsonORMapper v22.214.171.124 (2/26/2004) includes the following:
(1) Bug Fix: Some null-value cases were not working -- known problems fixed.
(2) Bug Fix: Entity objects with private constructors can now be used in mapper.
(3) ORHelper: Fixed another bug that caused some naming schemes to fail.
Update: WilsonORMapper v126.96.36.199 (2/22/2004) includes the following:
(1) Tim Byng has helped me add support for optional field default null-values.
(2) Bug Fix: Transactional PersistChanges with Collections now works correctly.
(3) ORHelper: Fixed two VB.NET bugs and one bug for some naming schemes.
Update: WilsonORMapper v188.8.131.52 (1/27/2004) includes the following:
(1) Now supports One-To-Many, Many-To-One, and Many-To-Many relationships.
(2) All relationships support lazy-loading, use ObjectHolder for Many-To-One.
(3) Stored Procedures with parameters can now be used to load collections.
(4) GetDataSet allows you to specify what subset of columns to actually load.
(5) Execute set based updates and deletes, including expressions with updates.
(6) Oracle support has been tested, and a provider model has been introduced.
(7) ORHelper: Chad Humphries has made some improvements to the logic and GUI.
Performance: WilsonORMapper v184.108.40.206 (1/14/2004) includes the following:
(1) Performance is now very much comparable, sometimes better, than DataSets.
(2) Objects should implement IObjectHelper to achieve the best performance.
(3) Objects can implement IObjectNotification to handle persistence events.
(4) A new method GetDataSet was created for situations where it is desired.
(5) The ordering of fields in the xml mapping file is now retained internally.
(6) Bug Fix: Table names with special characters (space, underscore) work.
(7) ORHelper: Optionally implements IObjectHelper and/or IObjectNotification.
(8) Documentation: Now includes a new column to indicate if part of MS syntax.
Bug Fix: WilsonORMapper v220.127.116.11 (1/9/2004) includes the following bug fixes:
(1) The 1-to-many child relationship failing in some cases should now be fixed.
(2) The xml mapping file should now allow comments to be inserted inside of it.
(3) An extra check and exception was added on loading the xml for better help.
More Help: See here for more details on the mappings and here for child setup.