DataObjects.Net is the ideal object-relational mapper (ORM) and business logic layer (BLL) development framework for modern .NET projects that:
- Wish to leverage all the best language features and technologies that .NET has to offer
- Have non-trivial domain models with deep inheritance and composite objects
- Prefer code-first, test-driven development
- Cannot settle for less than excellent performance
- Want a solution that scales easily
Latest Releases
Release notes for: DataObjects.Net 7.1.2
[main] Addressed issue when cycles in Entity dependency graph were not detected
[main] Introduced DomainConfuguration.ExtensionConfigurations as unified configuration storage for extensions' configurations
[main] DomainConfiguration.Load() method now has overloads which gets abstractions from Microsoft.Extensions.Configuration API
[localization] LocalizationConfiguration.Load() method now has overloads which gets abstractions from Microsoft.Extensions.Configuration API
[localization] ConfigureLocalizationExtension() extensions for DomainConfiguration are added, check ReadMe/documentation for examples of usage
[reprocessing] ReprocessingConfiguration.Load() method now has overloads which gets abstractions from Microsoft.Extensions.Configuration API
[reprocessing] ConfigureReprocessingExtension() extensions for DomainConfiguration are added, check ReadMe/documentation for examples of usage
[security] SecurityConfiguration.Load() method now has overloads which gets abstractions from Microsoft.Extensions.Configuration API
[security] ConfigureSecurityExtension() extensions for DomainConfiguration are added, check ReadMe/documentation for examples of usage
7.1.2 22 Oct 2024 release notes
Get it from: GitHub.com NuGet.Org
Release notes for: DataObjects.Net 7.0.5
[main] Some constructors of SqlPersistTask marked Obsolete, new constructors provided
[main] Some constructors of CalculateProvider marked Obsolete, new constructors provided
[main] Some constructors of AggregateProvider marked Obsolete, new constructors provided
[main] Updated BitFaster.Caching package
[main] Certain optimizations connected to query translation made
7.0.5 03 Jun 2024 release notes
Get it from: GitHub.com NuGet.Org
Release notes for: DataObjects.Net 6.0.13
[main] Fixed certain cases of bad translation of casts via 'as' operator in LINQ queries
[main] Addressed certain issues of translation connected with comparison with local entity instance within LINQ queries
[main] Fixed rare issues of incorrect translation of filtered index expressions including conditional expressions
[main] Join/LeftJoin is denied to have the same expression instance for both inner/outer selector
[main] Addressed issue when wrong type of join was chosen when .First/FirstOrDefalult() method was used as subquery
[main] Added dedicated exception when RenameFieldHint.TargetType exists in current model but absent in storage model
[main] Xtensive.Sql.Model.NodeCollection<T>.Add() throws understandable exception in case of duplicate name of item
[postgresql] Fixed issue of incorrect translation of conditional expressions including comparison with nullable fields
6.0.13 06 Apr 2024 release notes
Get it from: GitHub.com NuGet.Org
Release notes for: DataObjects.Net 5.0.24
main Fixed rare cases of writing data in wrong column for SingleTable hierarchies
main Fixed incorrect EntitySetState.TotalItemCount calculation for ClientProfile
sqlserver Fixed incorrect translation of DateTimeOffset.Date part extraction
5.0.24 27 Apr 2021 release notes
Get it from: DataObjects.Net Nuget.Org
Release notes for: DataObjects.Net 4.6.9
main Fixed comparison of Keys
mysql Provider is no longer used recursive syntax for join
4.6.9 03 Jul 2015 release notes
Get it from: DataObjects.Net Nuget.Org
Release notes for: DataObjects.Net 4.5.8
main Fixed invalid key comparison under certain conditions
main Fixed EntitySet caching invalid state within DisableSaveChanges() scope
main Fixed overflow when storing large TimeSpan values
main Fixed invalid default values for SessionConfiguration.DefaultIsolationLevel and SessionConfiguration.Options
main Fixed support for referencing connection strings in SessionConfiguration
mysql Fixed translation of bitwise operations
mysql Fixed translation of DateTime.DayOfWeek and DateTime.DayOfYear
4.5.8 30 Sep 2013 release notes
Get it from: DataObjects.Net Nuget.Org
Deliver better solutions – faster
Business domains of arbitrary complexity can be easily modeled in DataObjects.Net. You get tons of must-have features for rapid application development such as transactional entities, lazy loading, change tracking, concurrency, validation, event notifications, N-level undo and much more right out of the box with every domain model you develop.
DataObjects.Net implements a blazing-fast LINQ provider that will satisfy even
the most complex, performance-critical IQueryable
use cases that
your demanding users can conceive!
Our fast and reliable support will make certain you cross the finish line with lots of time to spare. The community will eagerly share their success tips and tricks with you.
Pain-free project maintenance
DataObjects.Net brings high performance and great scalability to both the data
access layer (DAL) and the business logic layer (BLL).
Über-Batching Technology™ maintains the ideal conversation between
your application and data storage considerably decreasing the number of roundtrips
there; future queries along with flexible prefetching allows to solve issues
like “SELECT N+1
” by a number of ways.
Automatic database schema upgrades and Ruby-on-Rails-like migrations significantly simplifies version-to-version upgrade process and will change how you think about deploying database changes!
Open-source
Since DataObjects.Net 6 the ORM is open-source and licensed under MIT license. We placed it on GitHub so you have access to the source code and can use it freely without license buying*.
We also welcome users' contributions to the project. Have an improvement suggestion or even a new feature to integrate? Open as an issue on Github with detailed info what your commitment does and what benifits it delivers to the project. We will discuss and figure out the best way to make your contribution be part of future DataObjects.Net.
* DataObjects.Net 5 and DataObjects.Net 4.6 continue to have paid licenses and access to the sources. For pricing go here
DataObjects.Net is much more than an ORM, it will save you time and help you deliver a better product that is easier to maintain over time. What are you waiting for? Get started with DataObjects.Net.
Customers
Blog
Jan 16
Dec 1
|