How-To-Select
Guides
  • Home
  • Sections
  • Topics
  • Services
  • Projects
  • Products
  • Vendors
  • Contact
  • About

Navigation

  • Recent posts
Home
NOTE: Read about our Current Status

How-To-Select Object-Relational Mapping Tools for .NET, 1st Edition

Covers Tools for Storing .NET Objects in Relational Databases
Section:
.NET Components and Tools
Topic:
O/R Mapping Tools for .NET
Edition:
1st
Published:
2006
Authors:
Jason Mauss

Table of Contents

  • A Brief Discussion on Object-Relational Mappers
  • Scenarios
  • Decision Points
  • Features
  • Vendors/Software Authors in this Guide
  • Products Profiled in this Guide
  • General Criteria
  • Products Not Profiled in this Guide
  • Informed Opinions
  • Glossary

Vendors/Software Authors in this Guide

Adapdev logo

Adapdev Technologies

http://www.adapdev.com

ARBT Informatica logo

ARBT Informatica

http://www.arbtinformatica.com

Assembleia, 10 34th floor, 3418/3419 Rio de Janeiro, RJ 20011-901

Brazil

Chili Software logo

Chili Software

http://www.chilisoftware.net

Italy

Dado Solution Logo

DADO Solution

http://www.dadosolution.com

Sonnenhof 20 8808 - Pfaeffikon SZ

Switzerland

Developer Express logo

Developer Express

http://www.devexpress.com

6375 S. Pecos Road, Suite 118, Las Vegas, NV 89120

USA

Informatec logo

Informatec

http://www.dotnetutilities.com

Lattice Logo

Lattice Business Software International, Inc.

http://www.latticesoft.com

USA

Mongoose Solutions logo

Mongoose Solutions

http://www.mongoosesolutions.com

2942 Evergreen Parkway, Suite 304, Evergreen, CO 80439

USA

MyGeneration logo

MyGeneration Software

http://www.mygenerationsoftware.com

USA

Nolics logo

Nolics

http://www.nolics.net

Nolics, Oy Malminkaari 23 A 00700, Helsinki, Finland

Finland

Wilson Dot Net logo

Paul Wilson

http://www.ormapper.net

USA

Pixolut logo

Pixolut Industries

http://www.pixolut.com

Progress logo

Progress Software

http://www.progress.com/realtime/

Progress Real Time Division, 14 Oak Park Drive, Bedford, Massachusetts 01730

USA

Sarix logo

Sarix Software Solutions

http://www.littleguru.net/opf/

Sarix Srl via Buozzi 12 I-39100, Bolzano (BZ) ITALY

Italy

sekos logo

Sekos Technology, Ltd.

http://www.sekos.com

Sekos Technology Ltd., 301-1641 Lonsdale Ave, North Vancouver, BC, V7M 2J5, Canada.

Canada and Ireland

Solutions Design logo

Solutions Design

http://www.sd.nl

Solutions Design, Zeilstraat 99 2586 RB, Den Haag, The Netherlands.

The Netherlands

TechTalk logo

TechTalk, GmbH

http://web.techtalk.at

Text and Talk logo

Text & Talk

http://www.netdataobjects.de/en/

ATOMS Project logo

The ATOMS Framework Project

http://jcframework.sourceforge.net

BBA DataObject Logo

The BBA DataObjects Project

http://sourceforge.net/projects/bbadataobject

Evolve Logo

The Evolve .NET Data Access Objects Project

http://dao.evolvesoftware.ch

Gentle logo

The Gentle.NET Project

http://sourceforge.net/projects/gopf

grove logo

The Grove Project

http://grove.91link.com

IBatis logo

The iBATIS Data Mapper Project

http://ibatis.apache.org

Neo logo

The Neo Project

http://neo.codehaus.org

NHibernate logo

The NHibernate Project

http://www.nhibernate.org

NPersist logo

The NPersist Project

http://www.npersist.com

ObjectBroker logo

The ObjectBroker Project

http://sourceforge.net/projects/objectbroker/

OJB logo

The OJB.NET Project

http://ojb-net.sourceforge.net

ORM.NET logo

The ORM.NET Project

http://www.olero.com/OrmWeb/index.aspx?p=ORM.ascx

Pragmatic logo

The Pragmatier.Persistence Project

http://www.gotdotnet.com/workspaces/workspace.aspx?id=e5d16a6c-98b0-49e2-83b9-5befdc3ac8ff

Retina logo

The Retina.NET Project

http://www.gotdotnet.com/workspaces/workspace.aspx?id=fd081831-5a33-45cd-9f23-a828dd1f3fd1

Sooda logo

The Sooda Project

http://sooda.sourceforge.net/en/

Versant logo

Versant

http://www.versant.com

Versant Corporation, 6539 Dumbarton Circle, Fremont, CA 94555 USA

USA

Voidsoft logo

Voidsoft

http://www.voidsoft.ro

Romania

X-tensive logo

X-tensive.com

http://www.x-tensive.com

12 Nagornaya St., 303 620028 Ekaterinburg, Russia

Russia

Products Profiled in this Guide

  • Adapdev Technologies
    • Codus - v1.1.0.0
  • ARBT Informatica
    • ORM Framework - v1.1
  • Chili Software
    • Opf3 - v3.0.2
  • DADO Solution
    • DADO Object Mapper - v1.1
  • Developer Express
    • eXpress Persistent Objects for .NET - v1.5
  • Informatec
    • Itec Data Layer - v2.0
  • Lattice Business Software International, Inc.
    • Data Mapper - v1.1.1845.40237
  • Mongoose Solutions
    • Objectz.NET - v2.2
  • MyGeneration Software
    • My Generation - v1.1.3
  • Nolics
    • Nolics.NET - v2.1 and 2005
  • Paul Wilson
    • Wilson ORMapper for .NET - v4.0
  • Pixolut Industries
    • BizBlox - v0.9.9.1
  • Progress Software
    • EdgeXtend for C# - v9.004
  • Sarix Software Solutions
    • OPF.NET - v1.0.0.864
  • Sekos Technology, Ltd.
    • AgileStudio - v2.2
  • Solutions Design
    • LLBLGen Pro - v1.0.2004.2
  • TechTalk, GmbH
    • Genome - v2.2.10
  • Text & Talk
    • NDO - v1.1
  • The ATOMS Framework Project
    • Atoms Framework - v2.2
  • The BBA DataObjects Project
    • BBA Data Objects - v1.2.0
  • The Evolve .NET Data Access Objects Project
    • Evolve .NET Data Access Objects - v1.3.1
  • The Gentle.NET Project
    • Gentle.NET - v1.2.5
  • The Grove Project
    • Grove - v1.0.1654.34510
  • The iBATIS Data Mapper Project
    • iBatis Data Mapper - v1.2.1
  • The Neo Project
    • Neo - v1.3.2
  • The NHibernate Project
    • NHibernate - v0.9
  • The NPersist Project
    • NPersist - v1.0.8
  • The ObjectBroker Project
    • ObjectBroker - v0.1.0
  • The OJB.NET Project
    • OJB.NET - v0.8.2419.0556
  • The ORM.NET Project
    • ORM.NET - v1.7.2.32067
  • The Pragmatier.Persistence Project
    • Pragmatier.Persistence - v2.6.5.1
  • The Retina.NET Project
    • Retina.NET - v1.0.0.6
  • The Sooda Project
    • Sooda - v0.7
  • Versant
    • Versant Open Access for the Microsoft .NET Framework - v3.4.4.86
  • Voidsoft
    • DataBlock - v1.1
  • X-tensive.com
    • DataObjects.NET - v3.5

AgileStudio

AgileStudio screenshot

Version 2.2, Starts at $229

Download it here

Licensing: Proprietary

AgileStudio provides a Visual Studio .NET add-in that allows you to set up connections to your database, define the objects you want to work with, and then creates typed datasets and Windows Forms controls based on your choices. AgileStudio requires using the .NET InstallUtil utility to install the AgilePages DataStore Manager Windows Service, which handles the interaction between the Visual Studio .NET add-in and your database, either SQL Server or XML files. Then, using the Visual Studio .NET add-in, you can define new objects and their members, and map these to your data store. Once your data store is configured, AgileStudio adds some .NET components (AgilePagesDataSetManager and AgilePagesConnection) to your form to help manage the interaction with the database, and automatically generates the code required to persist changes made with the application. Support for AgileStudio is provided through an online Knowledge Base at the vendor's Web site or through e-mail.

Atoms Framework

atomsframework screenshot

Version 2.2, Free

Download it here

Licensing: LGPL

The ATOMS Framework Project is an open source O/R Mapper project for Visual Studio .NET that provides object persistence using several database providers including Firebird, Informix, MaxDB, Microsoft SQL Server, MySQL, Oracle, and PostgreSQL. To use the ATOMS Framework, you can register the component provided by the vendor in the GAC on the your development computer or add a reference to it in your project. Also available from the vendor are some sample projects and NUnit tests to show you how to use the ATOMS Framework. Support for the ATOMS Framework is provided through the public forums at the SourceForge project page.

BBA Data Objects

bbadataobjects screenshot

Version 1.2.0, Free

Download it here

Licensing: LGPL

BBA DataObjects is an object-to-relational mapping library for .NET that maps SQL Server tables to objects. Top features include lazy loading, paged loading, and cryptography. BBA DataObject works by having you create classes that inherit from classes in the BBA DataObjects library, which handle persisting the object to the database automatically. Support for BBA DataObjects is provided through public forums at the SourceForge project home page (which looks fairly quiet) and through e-mailing the SourceForge project owner.

BizBlox

bizblocks screenshot

Version 0.9.9.1, Free?

Download it here

Licensing: Proprietary

BizBlox is a code generation tool that generates its code from SQL scripts exported from SQL Server Enterprise Manager, Query Analyzer, or scripts you may have written by hand. This generated code implements the BizBlox ORM API to automatically persist the objects to the database. BizBlox supports code synchornization for the code it generates, so that changes to the data schema (scripts) can be made and then reflected in the generated code upon the generation of the code. One of the requirements of BizBlox is that you use the uniqueidentifier data in your primary keys since BizBlox implements the GUID data type for the primary key value in its tables. From within the Visual Studio .NET IDE, you can use the BizBlox ORM API with your own objects by adding a reference to the BizBlox ORM components to your project. The BizBlox architecture makes use of the transfer object design pattern, which places importance on fast distributed-object communication for data access objects. Support for BizBlox is provided through an online Knowledge Base at the vendor's Web site.

Codus

Codus Screenshot

Version 1.1.0.0, Free

Download it here

Licensing: Apache License 2.0

Codus is a code-generation tool for object-relational mapping that provides a wizard-like tool to guide you through the process of defining a database connection, choosing the tables or views you'd like to generate code to interact with, choosing a code generation template, and then generating the code itself. Additionally, Codus gives you the ability to generate NUnit tests, NAnt build files, VS.NET solution files, Web Services, stored procedures, and Zanebug tests (Zanebug is a unit testing product by Adapdev). Currently, Codus supports Microsoft SQL Server, Microsoft Access, and Oracle with plans to support MySql in the near future. Support for Codus is provided via online forums or by e-mail.

DADO Object Mapper

DADO Object Mapper Screenshot

Version 1.1, Starts at $99

Download it here

Licensing: Proprietary

DADO Object Mapper is an O/R Mapper that also can work in conjunction with DADO's Application Server and Broker System all bunded together to provide a framework for multi-tier distributed object-oriented enterprise applications. DADO Mapping Studio is the front-end O/R Mapper that provides a tool for managing your O/R mapping projects, as shown in the screenshot. Using this tool you can import objects from several different database systems including SQL Server, Oracle, MySQL, DB2, and Microsoft Access. Mapping is handled using an XML file that you can manage from the Mapping Studio application. Support for DADO Object Mapper is handled via e-mail or by more direct means if you purchase DADO's greater support package. Source code for the framework can also be requested by e-mailing the vendor.

DataBlock

DataBlock screenshot

Version 1.1, 150 euros

Download it here

Licensing: Proprietary

DataBlock is a code generation tool that allows you to generate database platform neutral code in either C# or Visual Basic .NET from the data model and schema information found within your database. DataBlock supports Microsoft SQL Server, Microsoft Access, and MySql. All mapping and configuration settings are output via code attributes and are compiled into the .NET assembly. These mappings are also controllable through the GUI code generation tool. Customer Support for DataBlock is handled via e-mail and phone. Customers may also receive the source code to DataBlock, which enables you to make changes to the way the mapping and code generation is performed by the tool.

Data Mapper

datamapper screenshot

Version 1.1.1845.40237, Starts free, $70 for Standard Edition, $120 for Professional Edition.

Download it here

Licensing: Community, Standard, Professional

Latticesoft Data Mapper is a .NET object-based persistence library for relational databases that supports SQL Server, Oracle, and OLEDB-accessible databases using external XML configuration and mapping files. Objects can also be mapped to stored procedures or static SQL statements. To use the Data Mapper, you install the Data Mapper persistence framework on your computer and reference the Data Mapper assembly in your projects. Data Mapper also comes with a utility called SPGen that can auto-generate CRUD stored procedures for each table and view in SQL Server, Oracle, and DB2 databases. Support for Data Mapper is provided via an online request form.

DataObjects.NET

DataObjects.NET Screenshot

Version 3.5, starts at $299, volume discounts available

Download it here

Licensing: Proprietary

DataObjects.NET is an object persistence framework that, in addition to providing O/R Mapping features, also provides business object services similar to .NET Enterprise Services, such as transaction management, security (ACLs), and automatic handling of Remoting. DataObjects.NET supports several database systems such as SQL Server (including version 2005), Oracle, Microsoft Access, MSDE 2000, Firebird, and MaxDB. DataObjects.NET also supports all object-oriented features like inheritance (including interfaces), and allows you to query against the whole inheritance hierarchy of a persistent type or interface. Support for DataObjects.NET is provided via online forums or by e-mail.

EdgeXtend for C#

EdgeXtend screenshot

Version 9.004,

Download it here

Licensing: Proprietary

EdgeXTend is a code generation tool that generates C# data access layer code for .NET applications. A code generation tool is provided that allows you to define your classes and their members for your object model. At run-time, the generated code makes use of Persistence's O/R Mapping, caching, and synchronization (if desired). Caching instructions can be stored in a separate XML file, and can be made to work in a clustered environment if the need to scale your application arises. Support for EdgeXTend includes many options such as an online Knowledge Base, e-mail support, online documentation, support programs and services, and Live!Debug sessions where you can allow a support agent to take control of your computer to help.

Evolve .NET Data Access Objects

evolvedotnet screenshot

Version 1.3.1, Free

Download it here

Licensing: LGPL

Evolve .NET Data Access Objects consists of three components. First, a data access layer for accessing a relational database over an abstract layer. Second are Persistence Containers, which are an O/R Mapping layer used to handle CRUD operations. Lastly, .NET Data Access Objects provides a Visual Studio .NET add-in to assist in helping you define the mapping information used by the Persistence Containers. This mapping information is stored in XML files. Support for Evolve .NET Data Access Objects is provided via public forums at the SourceForge project home page and by e-mailing the SourceForge project owner.

eXpress Persistent Objects for .NET

eXpress screenshot

Version 1.5, $199 with source code, $149 without.

Download it here

Licensing: Proprietary

eXpress Persistent Objects for .NET, or XPO is an O/R Mapping framework designed to fully shield the developer from the database. To use XPO, you develop objects that inherit from XPO's persistent objects, and XPO generates the database for them automatically. XPO also automatically handles the relationships between classes and object inheritance. Not everything is out of your hands, however. If you require more precise control over the way the O/R Mapping is performed, you can make use of XPO's built-in code attributes to provide more explicit mapping instructions to XPO. You can specify retrieval, sorting, and filtering criteria using straightforward object syntax provided by the framework. XPO presently supports Microsoft Access, Microsoft SQL Server, MySQL, Oracle, PostgreSql, Firebird, and Advantage database systems. XPO comes with full source code available if you decide to purchase it. Support for XPO is provided via an online knowledge base, forums, and newsgroups.

Genome

Genome screenshot

Version 2.2.10, Starts at € 299

Download it here

Licensing: Proprietary

Genome is an O/R Mapping tool that provides automated persistence for .NET classes. OQL is supported as the language with which to specify object criteria. Another useful feature of Genome is its ability to generate DDL scripts for any given business layer-to-database mapping. Genome's mapping information is stored in XML files that can be edited by hand. Genome also supports features like result paging, partial object loading, and greedy loading hints in order to help with performance. Support for Genome is available via newsgroups at news://news.techtalk.at/techtalk.public.genome.support and also through incident report requests and by e-mail. Genome also offers extra services like architectural support/reviews, developer coaching, and code reviews.

Gentle.NET

gentledotnet screenshot

Version 1.2.5, Free

Download it here

Licensing: LGPL

Gentle.NET is a free, database independent object persistence framework. It features automatic SQL generation and object construction, a SQL factory for creating custom queries, DataView construction helpers, and more. Gentle.NET supports providers for Oracle, PostgreSQL, MySql, Firebird, SQL Server, MSDE, Access, SQLite, and Sybase. Using Gentle.NET requires adding references to a few different Gentle.NET assemblies and then providing configuration settings for database connection strings, database providers, etc. From there, Gentle.NET automatically handles persisting the objects that you have placed certain attributes on, such as the TableName attribute for classes, and the TableColumn attribute for members. Support for Gentle.NET is provided at the SourceForge project public forums and at the Gentle.NET Community page found at http://www.mertner.com/confluence/display/Community/Home.

Grove

grove screenshot

Version 1.0.1654.34510, Free

Download it here

Licensing: Open Source

Grove is an O/R Mapping component library for .NET requiring that each object needing persistence contain an attribute that lists the table name from the data source such as [DataTable("Orders")]. These attributes also let you specify information such as join types for multi-table objects and primary and foreign key information for class members. Grove supports basic transactions through methods like BeginTransaction, Commit, and Rollback, and supports SQL Server, OLEDB, and ODBC Data Sources. Methods taken to get support for Grove are not clear from the vendor's Web site, although e-mail addresses for the Grove team are provided.

iBatis Data Mapper

ibatisdatamapper screenshot

Version 1.2.1, Free

Download it here

Licensing: Apache License 2.0

iBATIS DataMapper is a Java/.NET framework meant to help design and implement persistence layers for Java/.NET applications. iBATIS couples objects with stored procedures or SQL statements using an XML mapping file. iBATIS Data Mapper supports providers for Access, SQL Server, Oracle, MySql, PostgreSQL, DB2, and generic ODBC and OLEDB providers. Using the XML mapping file, the iBATIS framework allows you to query for the objects you want, and returns them to you using the IList interface. Support for iBatis Data Mapper is provided by FAQ, a Wiki, mailing lists, and a bug submission tool, all found on the vendor's Web site.

Itec Data Layer

itecdatalayer screenshot

Version 2.0, Starts at $17

Download it here

Licensing: Proprietary

Itec Data Layer comes in the form of an application called MyCodeGenerator that is a code editor and a code generator. You can create your own projects and templates within MyCodeGenerator to tweak the structure used in generating the code. Additionally, the code generated can make use of the Data Access Application Block and the Exception Management Block that are part of Microsoft's Enterprise Library. MyCodeGenerator supports code generation for either C# or Visual Basic .NET and allows you to specify a default namespace name for the generated code. MyCodeGenerator also has the ability to create and use Stored procedures for your project and can generate typed datasets using the XSD.exe utility. Support for MyCodeGenerator is via e-mail.

LLBLGen Pro

llblgenpro screenshot

Version 1.0.2004.2, € 229

Download it here

Licensing: Proprietary

LLBLGenPro is both an O/R Mapper and a code generation tool for .NET that generates a complete data-access tier and business object tier for either C# or Visual Basic .NET based on an existing database schema. LLBLGenPro makes use of the provider model for database access architecture and supports SQL Server, Oracle, Access, MySQL, Firebird, the IBM DB2 UDB.NET provider. LLBLGenPro's Code Generation and O/R Mapper work in conjunction with each other in that once you have generated your project's code, you then reference the LLBLGenPro ORM support library in the client project and have ORM support for the code generated by the tool. Support for LLBLGenPro is provided via forums on the vendor's Web site and via e-mail (directly or through a Web contact form). Also, many sample projects are available for download on the vendor's Web site.

My Generation

mygeneration screenshot

Version 1.1.3, Free

Download it here

Licensing: Free

MyGeneration is a free code-generation tool that executes templates to convert database schema objects into object models, stored procedures, markup languages, and ASP.NET pages. These templates can be written in a variety of languages including Visual Basic .NET, C#, VBScript, and JScript. Each language has the ability to mix literal content and executable or interpreted code using the syntax introduced by classic ASP (<% %> tags). One of the unique features of MyGeneration is that it works just as well for COM code as it does for .NET. The two scripting languages provide a pathway to scripting against COM objects via the CreateObject() method and the two .NET languages allow coding with the .NET Framework. MyGeneration supports Microsoft SQL Server, Microsoft Access, Oracle, IBM DB2, MySQL, Postgre SQL, FireBird, Interbase, SQLite, and VistaDB. Support for MyGeneration is provided via online forums at the vendor's Web site.

NDO

NDO Screenshot

Version 1.1, Free to 1.999,-€

Download it here

Licensing: Proprietary

NDO (.NET Data Objects) is an O/R Mapping development tool that allows you to dress your objects with certain attributes and have them persisted to a database such as SQL Server, Oracle, MySql, Access, or Firebird--the databases which NDO supports. NDO also provides a mapping tool called The Enhancer to help you manage the XML file used to store the information about your mapping configuration (as shown in the screenshot). The Enhancer is also capable of generating SQL DDL scripts you can use to create database objects. For classes you want persisted by NDO, you add an attribute of [NDOPersistent] to your class. Support for NDO is provided by e-mail only.

Neo

Neo Screenshot

Version 1.3.2, Free

Download it here

Licensing: LGPL

The NEO (.NET Entity Objects) Framework is an O/R Mapping component and custom code-generation library that dynamically generates the SQL necessary to perform CRUD operations for your objects at run-time based on mapping information stored in an XML file. NEO is based on the ADO.NET DataSet object and can persist objects to an XML file as well as a relational database system. As you update your schema (mapping) file, NEO automatically creates the base classes and creates individual files for each entity class. Support for NEO is provided by a Wiki hosted at the vendor's Web site, and there is also public access to an issue-tracking system for the product. Mailing lists are also available for both users and developers.

NHibernate

NHibernate Screenshot

Version 0.9, Free

Download it here

Licensing: LGPL

NHibernate is a .NET based port of the Java Hibernate object persistence library for relational databases. NHibernate handles persisting your .NET objects to and from a relational database using an XML configuration file for the mapping information, including the names of your types, the providers for the database to be used, and the database connection information. Once you've created the tables to persist your objects to, and created your objects to persist, you can set up your configuration file and start using the NHibernate API to get and persist all of the objects in assemblies NHibernate is aware of. NHibernate supports Access, DB2, Firebird, MySql, PostgeSQL, SQL Server 2000, and SQLite. Support for NHibernate is provided through public forums at the SourceForge project home and a public developer mailing list.

Nolics.NET

Nolics.NET screenshot

Version 2.1 and 2005, $585

Download it here

Licensing: Proprietary

The Nolics.NET productivity tool consists of an O/R Mapper and several domain-specific languages. Nolics.net supports standard data bindings for Windows Forms applications. For ASP.NET applications, in addition to the standard data bindings, Nolics.net supports two-way data bindings with automatic support for control enabling/disabling (the controls are automatically enabled if the object bound to the controls becomes modifiable). Nolics.NET also supports inheritance, identity, parent-to-child relations, and importing existing legacy databases. Support is provided for Nolics.NET through online FAQs, e-mail, online demos, and online documentation.

NPersist

NPersist Screenshot

Version 1.0.8, Free

Download it here

Licensing: LGPL

The NPersist Framework is a free open source .NET O/R Mapping persistence framework for version 1.1 (or later) of the .NET Framework. Although it is written in C#, it supports persisting objects written in any .NET language. Mapping information for NPersist is stored in an XML file that can be generated by using the MatsSoft ObjectMapper 2005 application available at http://www.objectmapper.com/Home/Default.aspx. Support for NPersist is provided through public message boards at the GotDotNet Workspace project home for NPersist at http://workspaces.gotdotnet.com/npersist and forums and bug listings at the NPersist home page. Online documentation is also available as well as an NPersist newsgroup at news://magpie.sytes.net.

ObjectBroker

objectbroker screenshot

Version 0.1.0, Free

Download it here

Licensing: BSD License

ObjectBroker is an O/R Mapping framework for the .NET platform. Its main features consist of transparent persistance and transaction management. Mapping configuration settings are stored in an XML file. The transaction management features of ObjectBroker are based on COM+ Enterprise Services. Support for ObjectBroker is provided by the public forums at the products SourceForge home page and via e-mail.

Objectz.NET

objectz.NET screenshot

Version 2.2, Starts at $49.95

Download it here

Licensing: Proprietary

Objectz.NET is an O/R Mapping Library for .NET that lets you map the properties and fields of your .NET application classes directly to your database tables, columns and views. The Objectz.NET Mapping Studio application is the user interface that provides an easy way to graphically map classes to the database. The Objectz.NET Mapping Studio also allows you to define one or several database connections to use and which .NET assemblies to include in your project. You can then pick individual classes to map to database objects. Classes can be mapped to both tables or views from your data source, and individual class members are mapped to columns in the chosen tables. Source code is available for an additional cost. Support for Objectz.NET is provided via online forums at the vendor's Web site.

OJB.NET

OJB.NET Screenshot

Version 0.8.2419.0556, Free

Download it here

Licensing: LGPL

OJB.NET enables you to persist data between your .NET business objects and your relational database. OJB.NET also enables you to reverse-engineer your database (similar to Visio's database diagrams), to automatically generate .NET classes, and to get and persist your objects at runtime. OJB.NET allows lazy loading of objects and also automatically creates the mapping configuration between your objects and database tables. Support for OJB.NET is provided by the public forum at the SourceForge project forum.

OPF.NET

opfdotnet screenshot

Version 1.0.0.864, Free for non-commercial development

Download it here

Licensing: GPL

The Object Persistence Framework for .NET (OPF.NET) is an O/R Mapping class library that can manage object retrieval from and persistence to relational database systems and other persistent storage mechanisms, such as XML files. OPF.NET works by having your objects inherit from various classes like the Persistent, Collection, CollectionSqlDataManager, and PersistentSqlDataManager classes in order to perform standard CRUD-type operations in your objects. OPF.NET fully supports transactions for all database systems that support transactions. Currently OPF.NET offers storage classes for Microsoft SQL Server, ADO, OLEDB, and ODBC. OPF.NET has also made recent performance enhancements to speed up data access by implementing the ADO.NET DataReader internally. OPF.NET also offers an OPF.NET Studio product which is a business object generator based on OPF.NET. It allows you to automatically create business objects and create test cases for NUnit. Support for OPF.NET is provided via online forums, code snippets, and online documentation.

Opf3

op3 screenshot

Version 3.0.2, Starts at $199.95, volume discounts available

Download it here

Licensing: Proprietary

Opf3 is an object persistence framework for .NET 2.0 that provides a large set of sample/tutorial projects for you to see how the framework works. Opf3 uses code attributes and reflection to handle the mapping of Object fields to database table columns. The vendor's Web site has a PowerPoint tutorial that shows how to make use of the framework for creating and persisting objects using the Opf3 framework. The samples we downloaded require Visual Studio 2005 and can not be opened by Visual Studio 2003. Database support is strong as the Opf3 framework supports Microsoft SQL Server, Oracle, VistaDB, Postgre SQL, Microsoft Access, and Pervasive SQL. OPath is the object query language used by the Opf3 framework and supports raw SQL for sorting and grouping purposes. Support for Opf3 is provided via e-mail and annual priority e-mail support is available for purchase from the vendor's Web site.

ORM Framework

ORM Framework Screenshot

Version 1.1, Starts at $119

Download it here

Licensing: Per server, per site

The ARBT ORM Framework consists of abstract objects you can inherit from in your code. Your objects can inherit the functionality needed to automatically retrieve and persist data from Microsoft SQL Server, Oracle, and any other data source accessible via ADO.NET. The ORM Framework also allows you to store and retrieve data via XML, and bypass a database completely. Mapping configurations for the product can be managed using either database views or XML files containing the description of database objects and classes in your code. The code provided for the abstract objects is 100% managed code written in C#. Support for the ORM Framework is handled via e-mail.

ORM.NET

ORM.NET Screenshot

Version 1.7.2.32067, Free

Download it here

Licensing: LGPL

ORM.NET is a code generation tool capable of outputting either Visual Basic .NET or C# code. ORM.NET uses a fairly simple wizard application (shown in the screen shot) to take you through connecting to the database, choosing for which tables you'd like to generate code, and then customizing some settings (such as the name of your namespace and the type of method signatures on your public accessor methods) and then you can set off the process of ORM.NET generating a set of classes that you can compile into a library to use to persist all of your objects. ORM.NET comes with a complete documentation file that includes API information, a quick start guide, and information on sample applications. Support for ORM.NET is provided via e-mail, phone, or at the public forums on the SourceForce project site.

Pragmatier.Persistence

Pragmatier screenshot

Version 2.6.5.1, Free

Download it here

Licensing: GNU LESSER GENERAL PUBLIC LICENSE

Pragmatier.Persistence is a GotDotNet Workspaces project that is the result of the company Pragmatier going out of business. Pragmatier open-sourced their core component, so the Visual Basic .NET source code is freely available to all. It has been updated to support v1.1 of the .NET Framework and supports ODBC data sources. Unfortunately, no documentation or support accompanies the source code, so getting up to speed with the code might take longer than with other open source offerings.

Retina.NET

Retina.NET Screenshot

Version 1.0.0.6, Free

Download it here

Licensing: Shared Source

Retina.NET is a GotDotNet workspaces project for an open source O/R Mapping library. Using Retina.NET is very straightforward. Objects that want to make use of Retina.NET inherit from the Retina.Core.Entity class. Make sure your object provides a parameterless constructor and mark the primary key member of the class with an attribute. After that, you're all set. Retina.NET ensures that the database schema objects (including constraints) maintain the rules you have laid out for your objects. Retina.NET also has support for lazy loading of child objects through the use of proxy objects. Retina.NET comes with a Quick Start document (an MS word file) that lists many examples of how to use Retina.NET, code samples included. Support for Retina.NET can be found on the Retina.NET Workspace message board.

Sooda

Sooda screenshot

Version 0.7, Free

Download it here

Licensing: BSD License

Sooda is an acronym for Simple Object-Oriented Data Access and is a code generation tool that supports any .NET language that has a CodeDOM provider. With Sooda, you can auto-generate all of the code needed for an object-oriented data access layer and reduce the amount of CRUD code to a minimum. In addition to v1.1 of the .NET Framework, Sooda also supports Mono. Nant 0.85 is supported as an alternative to using Visual Studio 2003 for compiling the code produced by Sooda. It is not clear on the vendor's Web site how to get support for Sooda. but it appears that e-mail to the vendor gets you a prompt reply.

Versant Open Access for the Microsoft .NET Framework

versantopenaccess screenshot

Version 3.4.4.86, $995

Download it here

Licensing: Per developer

Versant Open Access for the .NET Framework is an O/R Mapping persistence framework that offers object persistence through changes made to the IL produced by the compiler and thus works with any IL-compatible language. Object querying can be done either using OQL or SQL directly and supports SQL Server, Oracle, and DB2 databases. Versant Open Access also provides a mapping designer that can be used to map your database tables to objects or, going in the other direction, to create objects based on an existing database schema. Support for Versant Open Access is provided via community forums, or you can initiate an ad hoc support request by visiting the Versant eShop. E-mail and phone-based support is also available for critical issues.

Wilson ORMapper for .NET

wilson or mapper Screenshot

Version 4.0, $50

Download it here

Licensing: Proprietary

Wilson ORMapper for .NET is an O/R Mapping library that transparently persists your business objects according to the rules defined in an XML mapping file. To use Wilson ORMapper from Visual Studio .NET, you add a project reference to the WilsonORMapper.dll file. After you have written the code for your classes and created your mapping file for those classes, you create an instance of the ObjectSpace class from the Wilson.ORMapper namespace, and pass the path of the mapping file, a connection string, and the type of database provider you want to use to the ObjectSpace constructor. From there, persisting your object is as easy as calling methods like PersistChanges() to save an object or GetObjectSet() to retrieve a series of objects. Wilson OR Mapper for .NET supports Microsoft SQL Server, Oracle, Microsoft Access, and ANSI compliant database systems. Support for Wilson ORMapper is provided via forums on the vendor's Web site and you can also e-mail the vendor with questions.

General Criteria

What things should you consider when purchasing any type of third party development tool or component? Or when deciding between purchasing such a component and building it in-house? Here are some factors you might like to think about:

  • Can you download an evaluation or demo copy prior to purchase?
  • What are the limitations to the evaluation or demo copy?
  • What are the company's tech support policies? How is tech support offered (phone, e-mail, newsgroup, discussion board)? During what hours? What's the average response time? Is an answer guaranteed? What does support cost? How long do you get free support? Can you purchase a support contract and what will it cost if you can?
  • What are the company's return policies?
  • What form is documentation provided in? Text file? PDF file? Help file? HTML Help file? Integrated to Visual Studio help? Printed manual?
  • What architecture is the product? Pure managed code, pre-wrapped ActiveX, wrappable ActiveX, non-managed code designed to be called directly from managed code?
  • What other products does this vendor offer that you might need?
  • Can you develop the functionality you need in a cost effective time-frame? Do you want to support the functionality after you first develop it?
  • If you build yourself, how many other developers will be using it or will it just be you? If more than just yourself, do you have the time to write good documentation?
  • Does the product support relevant standards where applicable, or does it use propriety implementations?
  • If open source, is the project active? If not, you might end up supporting and/or enhancing it yourself.
  • If commercial, how large is the vendor? How long have they been in business? How focused is their product line? How long have they supported this product? Have they ever dropped support of other products? Do they offer source code?

Note: Be careful with very large vendors that are not focused in the area of your interest. Large vendors have a bad habit of becoming interested in developer tools yet quickly drop support when they realize how hard it is to make money selling components and tools to developers. Exceptions are when the developer tools are their core competency or support their strategic direction. Conversely, don't discount small vendors if they have been in business for a while and have shown a proven ability to focus and provide quality products.

Products Not Profiled in this Guide

These are the products appropriate for this Guide but for one reason or another we did not cover. In some cases, we simply didn't locate the products in time to include them in this edition of the Guide, and hope to add them to the next revision. In others, they declined to participate and refused to send us a license for evaluation. We list these products and their URLs here so you can research them on your own if you like.

Alachisoft Tier Developer

http://www.alachisoft.com/tdev/overview.html

Evaluant Data Tier Modeler

http://www.evaluant.com/en/solutions/dtm/default.aspx

MatsSoft ObjectMapper 2005

http://www.objectmapper.com/Home/Default.aspx

Olero Software ORM.NET

http://www.olero.com/OrmWeb/

POTIS Object-Relational Toolkit

http://www.port.com.pl/

prettyObjects ABC.NET

http://en.www.prettyobjects.com/abc.net.aspx?sid=overview

Revelation Technologies Dali

http://www.revtechnologies.com/Dali.aspx

SharpPower RapTier

http://www.sharppower.com/Default.aspx?path=products/RapTier

Thoma Consulting EntityBroker

http://www.thona-consulting.com/content/products/entitybroker.aspx

Carlos Silva-Santisteban Silvtek.ORM

http://www.silvtek.com/ORM/howto/index.html

Table of Contents - Object-Relational Mapping Tools for .NET, 1st Edition
Design by styleshout Drupalized by All Drupal Themes Perfected by NewClarity LLC