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
Release notes for: DataObjects.Net 7.1.0
[main] Added support for DefaultExpression within Linq queries
[main] Support for TimeOnly ctors (time parts and ticks) in Linq, except for SQLite and MySQL providers
[main] No Session.Activate() in ToTransactional extension, it affects EntitySet<T> enumeration
7.1.0 12 Apr 2023 release notes
Release notes for: DataObjects.Net 7.0.3
[main] NodeCollection supports different equality comparers for internal name index
[sqlserver] Fixed TimeSpan.Ticks extraction problem
[oracle] Fixed scheme extraction for case-sensitive schema names
7.0.3 21 Mar 2022 release notes
Release notes for: DataObjects.Net 6.0.11
[main] Added an option to remove cached queries of removing storage node along with the node, default behavior remains the same
[postgresql] Dedicated exception when the extracting schema doesn't exist or it belongs to another user
[weaver] Fixed constructor processing with try...catch, catch section now has correct leave
6.0.11 12 Jan 2023 release notes
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
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
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
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
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!
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.