Welcome to the DataLinq documentation.
These docs are structured to help two kinds of readers:
- developers who are new to DataLinq and need a clear path to first success
- contributors or maintainers who need reference material and internals
If you are new here, do not start by wandering through every reference page in the menu. Start with the guided onboarding path.
DataLinq is an immutable-first, source-generated ORM for .NET.
Its core trade is simple:
- more work in generation, metadata, and cache structure
- less ambiguity at runtime
That leads to a model where:
- queries return immutable instances
- relations are lazy and cache-aware
- updates happen through mutable wrappers and transactions
- supported LINQ is documented conservatively instead of being hand-waved as "probably works"
If you have only used mainstream ORMs, DataLinq can feel a bit different at first.
That is because it is optimizing for:
- predictable reads
- strong generated typing
- cache-aware relation traversal
- clearer mutation flow
It is not trying to be the most permissive ORM in the ecosystem. It is trying to be coherent.
If you want the shortest path to understanding the library, follow this order:
That sequence gets you from zero to a real generated model surface and a working query/update loop.
Once the basics are in place, move into the deeper working docs:
If you already know what you need, jump directly to the major sections: