POCO DataSet
POCO DataSet is a lightweight, extensible data container for .NET applications that need structured tabular data
(tables / rows / columns) without the complexity and legacy constraints of System.Data.DataSet.
It is built around plain C# objects (POCOs), clean separation between data and metadata, and predictable behavior that
round-trips well throughh JSON.
Why it matters
- Lightweight and explicit - minimal concepts with no hidden behavior.
- POCO-first - easy to test, extend, and keep framework-agnostic.
- JSON-friendly - predictable serialization for client/server workflows.
- UI-agnostic but UI-friendly - a neutral data surface for Blazor, MVC, services, plugins, etc.
- Plays well with Entity Framework Core through the provided bridge.
- Connects to SQL Server through the provided SQL Data Adapter.
- Metadata-driven - supports dynamic UI generation and rule-based processing.
Who it is for
- .NET developers who need a clean tabular model without adopting a full ORM for every use case.
- Teams migrating from
System.Data.DataSet to a modern, POCO-based approach.
- Applications with dynamic forms, grids, and search screens driven by schema / metadata.
- Modular / plugin architectures where data must cross boundaries in a neutral format.
Pick your path
If you are new, start with "Introduction" section. If you are implementing, go directly to "Quick start" or "API reference" section.
-
Introduction
What POCO DataSet is, where it fits, and why it exists.
-
Concepts
Design principles, mental model, and architectural foundations.
-
Quick start
Practical walkthroughs: NuGet packages and installation, SQL Data Adapter, EF Core bridge, changesets, and merge workflows.
-
API references
The complete technical reference (types and members).
Table of Content