New features and improvements
- Provider for MySQL 5.0 and higher (contribution of Malisa Ncube)
Connection example:
<domain provider="mysql" connectionString="standard mysql connection string" .../>
- Provider for Firebird 2.5 and higher (contribution of Csaba Beer)
Connection example:
<domain provider="firebird" connectionString="standard firebird connection string" .../>
- Provider for JustOneDB (beta)
Connection example:
<domain connectionUrl="postgresql://username:password@server:port/databasename" .../>
- LINQPad driver (contribution of Alexander Ovchinnikov)
- DataObjects.Net Extensions (Security layer, Bulk operations, Reprocessible tasks and more)
- PostgreSQL 9.1 support
- SQL Server 2012 early support
- Ultra-fast topological sorter
- Decreased memory consumption
- DomainConfiguration.ForcedServerVersion property is introduced
- Lot's of minor fixes and improvements
LINQPad driver
The driver is extracted to a separate project and is published on CodePlex website. You can find there the latest sources and binaries.The project is maintained by Xtensive engineers and by volunteers from DataObjects.Net community.
Extensions
Xtensive Practices were merged with DataObjects.Net Extensions so now it is a set of packages that will be known as DataObjects.Net Extensions. For now there are 5 of them:Each of them is a separate project and has a corresponding nuget package so they can be installed separately or in any combination. Using NuGet is a recommended way of installing the extensions.
DataObjects.Net Extensions are published on CodePlex. You may also want to check the documentation before start using them.
The project is also maintained by Xtensive engineers and by volunteers from DataObjects.Net community.
Bye, bye, In-Memory DB
The component is removed due to several reasons: it doesn't follow SQL semantic, it doesn't support transactions, it can't be stored on disk and then loaded, it has severe limitations and thus makes the architecture of the whole solution too complex in comparison with strictly SQL-targeted ORMs.So after the several years of attempts sitting on the two chairs (classic SQL & IMDB) we decided to throw the second one away and focus on the SQL direction.
It is recommended to migrate to SQL Server CE in scenarios where IMDB was used.
Changes in distribution package
Starting from DataObjects.Net Beta 5 we changed the layout and contents of the distribution package.- The package is split into 2 main parts:
- Lib — run-time components
- Tools — build-time components
- Lib — run-time components
- Lib folder contains assemblies for both .NET frameworks: 3.5 and 4.0.
- DataObjects.Net.targets is located in the root of the package.
- The package includes no tests, samples, prerequisites, practices and other stuff that is not directly related to DataObjects.Net core.
- DataObjects.Net 4.4 had database drivers merged inside Xtensive.Orm assembly. The time showed that it hadn't been a good decision, so we are taking them back and putting in separate assemblies.
The only driver that is still bundled with Xtensive.Orm assembly is SQL Server driver because its ADO.NET provider is contained in .NET framework. So if you are working with databases other than SQL Server, you should add a reference to the corresponding driver.
Migration path
If DataObjects.Net prior to 4.5 is installed- Uninstall it
- Download and install DataObjects.Net 4.5
- Update references in your project to Xtensive.Orm 4.5 assemblies
- If you use a database other than SQL Server, reference the corresponding driver
- If you used PostSharp 2.0, update reference in your project to Postsharp 2.1
- Open your csproj file and scroll to the end.
Find the line:
<Import Project="$(DataObjectsDotNetPath)\Common\DataObjects.Net.targets" />
Change it to the following one:
<Import Project="$(MSBuildExtensionsPath)\DataObjects.Net\v4.5\DataObjects.Net.targets" />
- Remove content of DataObjects.Net folder
- Download DataObjects.Net 4.5 binaries and extract to the folder
- Update references in your project to Xtensive.Orm 4.5 assemblies
- If you use a database other than SQL Server, reference the corresponding driver
- Update reference in your project to Postsharp 2.1
- Open your csproj file and scroll to the end. Check that path to DataObjects.Net.targets file is valid.
Fantastic news! Well done!
ReplyDeleteI love this
ReplyDelete1) The ORM has shrunk considerably smaller.
2) This NuGet stuff is the way to go.
3) Linqpad.
I'm excited.
Thanks, guys =)
ReplyDeleteTrue true. Hope new version of DOEMD will join the club soon :-)
ReplyDeletePrincess Diana black sheep sweater
ReplyDelete