What Is POCO DataSet?

POCO DataSet is a lightweight, modern, and extensible tabular data model for .NET applications. It provides a clean, POCO-based alternative to System.Data.DataSet, without legacy constraints, hidden behaviors, or heavy dependencies.

Core Components

DataSet

A DataSet acts as the root container for related DataTables. Tables are stored under unique names, allowing structured data to be grouped and transported together. The DataSet does not impose relationships or behaviors—keeping the design clean, neutral, and purpose-driven.

DataTable

A DataTable consists of two main parts:

This design makes DataTables ideal for dynamic UI rendering, metadata-driven forms, and rule-based engines.

DataRow

A DataRow represents one logical row of data. Values are stored in typed structures matching the schema, providing predictable access by column name and reducing runtime errors.

ColumnMetadata

ColumnMetadata defines a table’s schema, including:

This metadata-driven structure enables UI frameworks, service layers, and rule engines to make dynamic decisions based on schema rather than hard-coded models.

Schema and Data Separation

POCO DataSet treats schema and data as separate but related concepts. This allows scenarios such as:

Intended Use Cases