Xtensive.Orm 6.0.13

There is a newer version of this package available.
See the version list below for details.
dotnet add package Xtensive.Orm --version 6.0.13                
NuGet\Install-Package Xtensive.Orm -Version 6.0.13                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Xtensive.Orm" Version="6.0.13" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Xtensive.Orm --version 6.0.13                
#r "nuget: Xtensive.Orm, 6.0.13"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Xtensive.Orm as a Cake Addin
#addin nuget:?package=Xtensive.Orm&version=6.0.13

// Install Xtensive.Orm as a Cake Tool
#tool nuget:?package=Xtensive.Orm&version=6.0.13                

DataObjects.Net

DataObjects.Net is a persistence and object-relational mapping framework for the Microsoft .NET. It allows developers to define persistent objects as well as business logic directly in C#, Visual Basic or F#. The persistent objects can be retrieved by LINQ queries. Persistent data can be stored in SQL Servers. In contrast to many other ORM frameworks the database model is generated and maintained automatically.

Supported databases:

  • MS SQL Server 2008 R2, 2012, 2014, 2016, 2017, 2019
  • MS Azure SQL Database
  • Oracle 10g, 11g
  • PostgreSQL 8.3, 8.4, 9.0, 9.1, 9.2, 10, 11
  • MySQL 5.5, 5.6
  • Firebird 2.5
  • Sqlite 3

Providers for the databases are available as separate packages and may be installed following way

dotnet add package Xtensive.Orm.SqlServer
dotnet add package Xtensive.Orm.Oracle
dotnet add package Xtensive.Orm.PostgreSQL
dotnet add package Xtensive.Orm.MySql
dotnet add package Xtensive.Orm.Firebird
dotnet add package Xtensive.Orm.Sqlite

Usage

The following code demonstrates basic usage of DataObjects.Net. For full tutorial configuring Domain, defining the model and querying data see our documentation.

Create a domain configuration configuration to connect to certain database

// create configuration with connection to Tests database on local instance of MS SQL Server
var domainConfiguration = new DomainConfiguration(@"sqlserver://localhost/Tests");

// register types form certain namespace which contains domain model persistent types -
// the types derrived from Xtensive.Orm.Entity and/or Xtensive.Orm.Structure
domainConfiguration.Types.Register(typeof (Person).Assembly, typeof (Person).Namespace);

// create database structure from scratch
domainConfiguration.UpgradeMode = DomainUpgradeMode.Recreate;

Build domain by the configuration created before. Usually, domain is built when the application starts and disposed just before the application shuts down.

var domain = Domain.Build(domainConfiguration);

Query data from database, modify results and/or create new entites

// open a session to database
using (var session = domain.OpenSession()) {
  // and transaction
  using (var transactionScope = session.OpenTransaction()) {
    // query for existing Anton Chekhov
    Author existingAuthor = session.Query.All<Author>()
      .Where(author => author.FirstName=="Anton" && author.LastName=="Chekhov")
      .FirstOrDefault();

    //if Anton Pavlovich isn't in database yet then and him
    if (existingAuthor==null) {
      existingAuthor = new new Author(session) {
        FirstName = "Anton",
        LastName = "Chekhov";
      }
    }

    // add new book and assign it with Anton Chekhov
    existingAuthor.Books.Add(new Book(session) {Title = "The Cherry Orchard"});

    // commit opened transaction to save changes made within it
    transactionScope.Complete();
  }
}

Dispose domain on application shut down

domain.Dispose()
Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (16)

Showing the top 5 NuGet packages that depend on Xtensive.Orm:

Package Downloads
Xtensive.Orm.BulkOperations

Adds support for bulk insert, update and delete operations for DataObjects.Net-powered domain models

Xtensive.Orm.Tracking

Adds tracking functionality for DataObjects.Net-powered projects

Xtensive.Orm.Web

Adds integration with ASP.NET for DataObjects.Net-powered projects

Xtensive.Orm.PostgreSql

Adds support for PostgreSQL to DataObjects.Net

Xtensive.Orm.SqlServer

Adds support for MS SQL Server to DataObjects.Net

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
7.2.0-Beta-1 512 12/28/2023
7.1.2 547 10/18/2024
7.1.1 16,809 11/14/2023
7.1.0 1,760 4/12/2023
7.1.0-RC 818 3/9/2023
7.1.0-Beta-2 905 12/19/2022
7.1.0-Beta-1 797 7/4/2022
7.0.5 456 6/3/2024
7.0.4 804 11/12/2023
7.0.3 5,370 3/21/2022
7.0.2 4,365 2/8/2022
7.0.1 3,496 10/29/2021
7.0.0 3,127 6/2/2021
6.0.13 680 4/4/2024
6.0.12 15,213 11/10/2023
6.0.11 3,362 1/12/2023
6.0.10 4,963 4/29/2022
6.0.9 4,982 2/2/2022
6.0.8 3,479 10/28/2021
6.0.7 54,109 8/27/2021
6.0.6 3,592 5/24/2021
6.0.5 3,776 3/9/2021
6.0.4 19,714 12/22/2020
6.0.3 4,029 9/29/2020
6.0.0 4,436 1/28/2020
5.1.0-Beta-1 7,316 1/30/2015
5.0.24 2,198 4/27/2021
5.0.23 2,134 2/4/2021
5.0.22 2,268 11/18/2020
5.0.21 2,212 11/6/2020
5.0.20 2,766 12/25/2019
5.0.19 20,085 5/30/2019
5.0.19-Beta-2 2,779 4/16/2019
5.0.19-Beta-1 2,718 12/29/2018
5.0.18 6,300 9/28/2018
5.0.18-Beta-3 2,725 7/2/2018
5.0.18-Beta-2 3,024 6/6/2018
5.0.18-Beta-1 2,922 4/24/2018
5.0.17 3,786 2/27/2018
5.0.17-Beta-3 2,920 2/12/2018
5.0.17-Beta-2 3,031 1/12/2018
5.0.17-Beta-1 1,794 12/28/2017
5.0.16 21,415 12/1/2017
5.0.16-Beta-1 2,935 9/27/2017
5.0.15 3,219 8/1/2017
5.0.14 3,182 6/19/2017
5.0.13 3,287 3/22/2017
5.0.12 3,009 2/14/2017
5.0.11 13,021 1/26/2017
5.0.11-RC2 2,900 12/16/2016
5.0.11-RC 3,267 9/20/2016
5.0.10 5,412 8/5/2016
5.0.10-RC 2,964 6/30/2016
5.0.9 3,963 3/3/2016
5.0.8 3,048 2/15/2016
5.0.7 2,973 1/27/2016
5.0.7-RC2 2,975 12/8/2015
5.0.7-RC 3,044 9/10/2015
5.0.6 3,587 7/3/2015
5.0.5 3,319 4/23/2015
5.0.4 3,083 3/19/2015
5.0.4-RC 3,241 2/25/2015
5.0.3 4,259 10/31/2014
5.0.2 3,216 9/11/2014
5.0.1 3,341 8/21/2014
5.0.0-RC2 3,023 8/1/2014
5.0.0-RC 2,974 7/21/2014
5.0.0-Beta-3 2,939 5/28/2014
5.0.0-Beta-2 3,117 2/28/2014
5.0.0-Beta-1 2,923 11/14/2013
4.6.9 3,159 7/3/2015
4.6.8 3,143 8/1/2014
4.6.7 3,069 6/23/2014
4.6.6 3,417 4/9/2014
4.6.5 3,337 1/7/2014
4.6.4 3,493 9/30/2013
4.6.4-RC 1,889 8/5/2013
4.6.3 3,802 2/4/2013
4.6.2 3,723 11/28/2012
4.6.1 3,354 11/16/2012
4.6.0 18,972 10/5/2012
4.6.0-RC 1,859 10/1/2012
4.6.0-Beta-3 1,864 9/14/2012
4.6.0-Beta-2 1,879 7/13/2012
4.5.8 2,725 9/30/2013
4.5.8-RC 1,609 8/5/2013
4.5.7 2,782 2/4/2013
4.5.6 3,193 11/16/2012
4.5.5 3,170 10/5/2012
4.5.5-RC 1,790 10/1/2012
4.5.4 3,219 8/11/2012
4.5.4-RC2 1,727 8/3/2012
4.5.4-RC 1,771 7/13/2012
4.5.3 3,314 7/2/2012
4.5.3-RC4 1,717 6/22/2012
4.5.3-RC3 1,822 6/14/2012
4.5.3-RC2 1,780 6/4/2012
4.5.3-RC 1,878 5/12/2012
4.5.2 3,153 5/10/2012
4.5.1 12,235 5/5/2012
4.5.1-RC2 1,792 5/2/2012
4.5.1-RC 1,771 4/23/2012