NOTE: Read about our Current Status
How-To-Select Object-Relational Mapping Tools for .NET, 1st Edition
Table of Contents
Vendors/Software Authors in this Guide
ARBT Informatica
http://www.arbtinformatica.com
Assembleia, 10 34th floor, 3418/3419 Rio de Janeiro, RJ 20011-901
Brazil
Mongoose Solutions
http://www.mongoosesolutions.com
2942 Evergreen Parkway, Suite 304, Evergreen, CO 80439
USA
Progress Software
http://www.progress.com/realtime/
Progress Real Time Division, 14 Oak Park Drive, Bedford, Massachusetts 01730
USA
Sarix Software Solutions
http://www.littleguru.net/opf/
Sarix Srl via Buozzi 12 I-39100, Bolzano (BZ) ITALY
Italy
Sekos Technology, Ltd.
Sekos Technology Ltd., 301-1641 Lonsdale Ave, North Vancouver, BC, V7M 2J5, Canada.
Canada and Ireland
Solutions Design
Solutions Design, Zeilstraat 99 2586 RB, Den Haag, The Netherlands.
The Netherlands
The Pragmatier.Persistence Project
http://www.gotdotnet.com/workspaces/workspace.aspx?id=e5d16a6c-98b0-49e2-83b9-5befdc3ac8ff
The Retina.NET Project
http://www.gotdotnet.com/workspaces/workspace.aspx?id=fd081831-5a33-45cd-9f23-a828dd1f3fd1
Versant
Versant Corporation, 6539 Dumbarton Circle, Fremont, CA 94555 USA
USA
Products Profiled in this Guide
- Adapdev Technologies
- ARBT Informatica
- Chili Software
- DADO Solution
- Developer Express
- Informatec
- Lattice Business Software International, Inc.
- Mongoose Solutions
- MyGeneration Software
- Nolics
- Paul Wilson
- Pixolut Industries
- Progress Software
- Sarix Software Solutions
- Sekos Technology, Ltd.
- Solutions Design
- TechTalk, GmbH
- Text & Talk
- The ATOMS Framework Project
- The BBA DataObjects Project
- The Evolve .NET Data Access Objects Project
- The Gentle.NET Project
- The Grove Project
- The iBATIS Data Mapper Project
- The Neo Project
- The NHibernate Project
- The NPersist Project
- The ObjectBroker Project
- The OJB.NET Project
- The ORM.NET Project
- The Pragmatier.Persistence Project
- The Retina.NET Project
- The Sooda Project
- Versant
- Voidsoft
- X-tensive.com
AgileStudio
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
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
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
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
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
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
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
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
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#
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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.
http://www.alachisoft.com/tdev/overview.html
http://www.evaluant.com/en/solutions/dtm/default.aspx
http://www.objectmapper.com/Home/Default.aspx
http://en.www.prettyobjects.com/abc.net.aspx?sid=overview
http://www.revtechnologies.com/Dali.aspx
http://www.sharppower.com/Default.aspx?path=products/RapTier
http://www.thona-consulting.com/content/products/entitybroker.aspx



































