DataObjects.Net is a rapid database application development framework. It combines business logic layer (BLL) development library, object-relational mapper (ORM) and a set of storage providers allowing the same BLL code to work transparently on any of them.
DataObjects.Net helps you to model complex domains with ease. It supports the development path you used to follow. We put a lot of efforts to allow you thinking of persistent objects as of regular .NET objects. DataObjects.Net relies on “Model-First” (or “Code-First”) concept pushing developers to focus on domain model and its business logic instead of caring about how and when the entities must be persisted. This allows you to design models using just usual .NET classes. Moreover, we eliminated the need to maintain separate XML mapping files.
So building complex models containing hundreds of persistent types is nearly as simple as doing the same for non-persistent models.
DataObjects.Net provides built-in version-to-version migration pattern for your applications. It automatically creates, and, if necessary, upgrades the schema on each Domain startup preserving all the data. The upgrade process is fully customizable.
DataObjects.Net has a full-featured LINQ-to-SQL translator with support for multiple SQL dialects. It is, likely, the first ORM designed to compile LINQ queries not just to SQL, but to generally any other query language. Its internal query representation is similar to query plan used in SQL databases instead of AST. This feature allows it to perform really complex query transformations while producing query for target database. Currently DataObjects.Net supports:
DataObjects.Net allows to transparently migrate between any of storages it supports.
DataObjects.Net provides various performance features:
To install DataObjects.Net you need to have the following components:
Note
Applications based on DataObjects.Net require just .NET Framework 3.5 SP1 or higher to be installed.
DataObjects.Net supports modern CLR-based languages:
DataObjects.Net is distributed in several ways: installer, .zip package and as set of NuGet packages.
The most simple way of getting DataObjects.Net is using automated installer. It brings all libraries and tools you need to start developing with DataObjects.Net. Latest versions are available at downloads section of its website.
Major versions of DataObjects.Net could be installed side-by-side on the same development machine.
Note
For example, 4.5 and 4.6 are different major versions, but 4.6.0 and 4.6.1 are not.
As alternative to the installer DataObjects.Net can be downloaded as .zip package. The package contains the same libraries and tools as the installer except Visual Studio project templates.
Each release of DataObjects.Net is also available as set of NuGet packages. Unlike installer and .zip packages, ORM core libraries, database providers and extensions are distributed as separate NuGet packages.
Core package
DataObjects.Net package includes core libraries and services as well as support for MS SQL Server and Windows Azure.
Database provider packages
Extension packages
Note
For all list of packages see Xtensive’s profile at NuGet gallery.
DataObjects.Net distribution consists of the following components: