DataObjects for .NET is based on Microsoft ADO.NET technology and enhances it to empower and simplify database application development. DataObjects for .NET has close connections with ADO.NET that programmers familiar with ADO.NET can utilize:
- DataObjects for .NET programmatic object model closely follows one of ADO.NET, so it will look very familiar to those who are used to the ADO.NET object model. For example, C1DataSet is similar to ADO.NET DataSet, C1DataTable to ADO.NET DataTable, and so on.
- The relation with ADO.NET goes beyond object model similarity. In fact, DataObjects for .NET stores data in ADO.NET DataSet and that internal storage is accessible via the StorageDataSet property. This enables a powerful combination of DataObjects for .NET and ADO.NET in the same code. Your code can work with the same data using either DataObjects for .NET or ADO.NET interface, whichever is most suitable for the task at hand. This duality is very important, because it allows you to:
- Do everything with your data that you can do with ADO.NET, including features that are not supported in DataObjects for .NET (for example, DataSet.Merge).
- Export/import your data from/to DataObjects for .NET in ADO.NET DataSet format.
- Work with XML data in DataObjects for .NET and import/export data in self-describing XML to/from other tools and programs.
See Working with ADO.NET Dataset for details on how to use this DataObjects for .NET-ADO.NET bridge.
Differences between ADO.NET and DataObjects for .NET
The following list explains the differences between ADO.NET and DataObjects for .NET:
- DataObjects for .NET fully supports multi-table rowsets (composite tables) automatically enforcing data relations without manual coding. For example, changing a CustomerID field will automatically change the corresponding CustomerName field in the same row, although it is stored in a separate table.
- With an innovative virtual mode technology, DataObjects for .NET allows you to use large datasets in .NET Windows Forms applications, a feature that is not supported in Visual Studio and ADO.NET without DataObjects for .NET.
- DataObjects for .NET completely automates database updates. There is no need to use ADO.NET DataAdapter or other special components. Database updates are performed without manual coding. DataObjects for .NET can update the database even when multiple and interrelated changes have been made to multiple tables.
- By setting a single property, UpdateLeavingRow, you can make DataObjects for .NET update the database immediately after the user changes a row. This optional feature is commonly used in desktop and classic client-server applications. Standard ADO.NET does not support this feature.
- DataObjects for .NET supports an extensive set of events enabling full programmatic customization.
- DataObjects for .NET Enterprise Edition uses the standard business object paradigm to allow you to develop business logic components (data libraries) and reuse them in multiple client projects. It provides clear separation of business and data logic from the presentation (GUI) layer.
- DataObjects for .NET Enterprise Edition allows you to create a centralized and reusable repository of data schema and business logic (data libraries) used in applications throughout the enterprise.
- DataObjects for .NET Enterprise Edition completely automates the task of developing distributed 3-tier Web-based applications. No special server-based code is necessary, and making your application distributed becomes a simple matter of deployment configuration.