Let’s get started by doing “the simplest thing that could possibly work”. public class DynamicDataTable : DynamicObject { private readonly DataTable _table; public DynamicDataTable( DataTable table) { _table = table; } } For now, we’ll use a DataTable