Doing most of MVC via database?
// Navigation tree and page relationship (table).
Navig: ID (PK), ParentID, Action, Crudtype, Model, Title, Filter, SuccessPathID, Priority. // (CrudType: Search, List, Add, Edit, Delete, Other. "Filter" can be used to de-select columns as needed)
// Field dictionary table, roughly corresponds to table/view columns.
Model: ID, FieldName, Type, Title, Nullable, MaxLength, FilterCodes, Sequence
// Relationships to define drop-downs and/or read-only, per CrudType.
Lookup: ID, Model1_ID, Model2_ID, IDcolumn, DescriptColumn.
// Customized or specialized activity table, similar to event handlers.
Special: ID, PathID, Model, Action, FieldName, Operation, Param1, Param2, Param3. // (PathID, Model, Action, & FieldName can be wild-carded as needed. Example Operation: "Phone" to format & validate phone-number columns.)
A lot depends on settling on consistent shop conventions rather than try to cover every CRUD style.