Observable DataSet Integration
ObservableDataSet is an extension layer on top of POCO DataSet that adds change notification and event-driven behavior. It allows user interfaces (for example, Blazor components) to react automatically when data changes, without manual refresh calls scattered throughout the code.
The POCO DataSet core model is intentionally simple and predictable. It represents tables, rows, columns, and metadata without introducing UI concerns, event pipelines, or framework-specific behavior. This keeps the core reusable across service layers, serialization, persistence, and non-UI workflows.
ObservableDataSet exists to bridge the gap between a neutral data model and reactive user interfaces. It adds notifications around changes while preserving the core behavior and keeping architectural responsibilities explicit.
IDataSet and exposes observable counterparts for tables and rows.
Observable integration is additive. The core data model remains event-free and UI-agnostic, and observable components wrap the core rather than replacing it.
This separation matters because it keeps POCO DataSet suitable for non-UI scenarios (services, testing, import/export, background processing) while still supporting modern reactive UI workflows when needed.
The observable layer is concerned with changes that affect user-facing state and UI rendering. Typical observable changes include:
Modified or is marked Deleted).
To keep responsibilities explicit, ObservableDataSet does not attempt to become a business rules engine, a persistence layer, or an implicit constraint system.
ObservableDataSet is most valuable when multiple UI components must stay consistent while the user edits data. Common scenarios include:
ColumnMetadata (inputs reflect schema and nullability).
The observable layer follows the same merge semantics as the core model. The difference is in mechanics: observable merges must raise change notifications correctly so that UI views remain consistent. This is especially important for merges that add or remove rows, update values, or reconcile post-save results.
ObservableDataSet adds reactivity on top of POCO DataSet without changing the core model or coupling it to UI technology. The result is a clean separation: the core provides a predictable data model, and the observable layer provides the notifications needed for reactive UIs.
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.