title: ASP.NET MVC - DbContext good practices
body: <p>I'm starting a new .NET MVC project with Entity Framework and I am struggling with some problems.</p>
  
  <ol>
  <li><p>In my model I have about 150 entities (generated from the database). Is it a good idea to have only one DbContext? If not, how should I divide my entities?</p></li>
  <li><p>If I have one DbContext and I create a class variable that instantiates a database context object (in Controller), what happens then with this DbContext? Does it create in memory separate space for each of my entities? In my case, when I have 150 entities it would not be very effective. Am I wrong?</p></li>
  <li><p>I will be using my DbContext in many Controllers. Is it a good idea to create a MainController (where I create new DbContext), which will be inherited by the rest of the Controllers? Because this allows others to have access to the same Context.</p></li>
  <li><p>What is the best practise for disposing my DbContext? I've read that it is good practice to use dependency injection. But in this way I will have to inject context to every of my controllers. Which dependency injection way is the most popular and used now?</p></li>
  </ol>
  
  <p>Really need your advice. It will give me more insight to this piece of development.</p>