Here's the situation. I have an enterprise application that uses EF Codefirst to map POCOs to an existing database. This has been working fine so far. In fact I would say that it's been working really well.
A situation has been introduced (out of my hands) that involves adding new tables to the database and/or new columns to tables when a customer has purchased an add-on.
There aren't clear domain boundaries. So, I find myself in a difficult position because I need to support an entity at the base product level, but then I need to support the same entity (emphasis on this entity being considered the same) with a few new columns. Additionally, the entity may have new relationships to new tables.
It appears that it is possible to add entities to a schema (see http://romiller.com/2012/03/26/dynamically-building-a-model-with-code-first/ for a general approach) but it doesn't address properties and relationships. Is it possible or even feasible to change a DbContext's schema and models at runtime?
The application is using ASP.NET MVC WebAPI with a repository pattern. So, as a last resort I am considering the possibility that I'll need to stop using EF and replace it with ADO.NET instead, but that (of course) will be a very labor and time intensive process.
Thanks for any help.