Following MSDN documentation we can read:
The model for that context is then cached and is for all further instances of the context in the app domain.
Here is similar question
The only available approach comes from the Program Manager of the Entity Framework team (Rowan Miller (MSFT)):
We removed CacheForContextType in CTP5, we originally intended it to be used when folks wanted to use the same context in the same AppDomain with different models. The issue is that it would create the model on every initialization and didn't allow any way to cache a series of models and choose which one to use during each initialization. Model creation is expensive so we wanted to promote a better pattern.
The pattern we recommend is to externally create a ModelBuilder -> DbDatabaseMapping -> DbModel for each model you want to use. The DbModel should be cached and used to create context instances. The ModelBuilder -> DbModel workflow is a little messy and the class names aren't great, they will be tidied up for RTM.
I've tried the following approach:
The result was that I can change parameters of DbCompiledModel every time I call DbContext constructor. That was all I needed.