Architecture Overview
POCO DataSet architecture describes how the library fits into an application as a neutral tabular data layer. The goal is not to impose persistence, UI, or domain modeling choices, but to provide a clear and predictable container for tables, rows, and metadata that can move safely between application layers and modules.
A useful way to think about POCO DataSet is in three layers: the core, the integration layers, and the external systems.
Inside the core layer, POCO DataSet uses a simple object graph: a DataSet holds named DataTables, a DataTable defines schema through ColumnMetadata, and DataRows carry the actual values. Schema (metadata) and data (rows) are separate but linked through the table.
POCO DataSet itself stays neutral. Integration is done through companion components that translate between external systems and the POCO DataSet core model.
In most applications, POCO DataSet is used as a data exchange format across boundaries: services provide a DataSet to the UI, the UI modifies it, and only the delta is sent back.
Keeping boundaries clear is part of the design. POCO DataSet intentionally avoids:
Architecturally, POCO DataSet is best viewed as a small, stable core model surrounded by optional integration layers. This keeps the library lightweight and predictable while still supporting real application workflows: database loading, API transport, dynamic UI rendering, change tracking, and merge/refresh patterns.
Table of Content POCO DataSet Concepts
Business Process Programming in .Net
© 2004–2026 Laskarzhevsky Software Inc.
Unless otherwise noted, the content of this website is licensed under the
Creative Commons Attribution 4.0 International License (CC BY 4.0).
Code examples are provided under the MIT License.
You are free to share and adapt the material provided that appropriate
credit is given and any modifications are clearly indicated.
The information provided on this website is for educational purposes only.
The author and publisher make no warranties regarding the completeness
or suitability of the information and are not responsible for any damages
resulting from its use.