I am in phase of designing architecture of my web application. I want to work with asp.net mvc5 and oracle database at back end. 

One basic requirement of my project is that the application's admin users can add/remove Form Fields. I want to physically add/remove columns in my database tables at run time (not design time).

How can I achieve it in mvc and how the models can be updated dynamically at run time?

Should I use some ORM or how I design data access layer for that?

I just need suggestions and hints for the architecture design approaches.