I will explain here a little more in English, so everyone can understand. Hope this helps someone out there. This is because Visual Studio cannot connect to the database model.
This happens when you change the name and / or path in a class that extends DbContext and does not change it in the Web.config file (in the outermost part of your project: root).
Example:
Imagine that you pinned DbContext code:
a) You right-click on a folder in your project and add "ADO.NET Entity Data Model" and you name it "Model1"
You will receive the following code:
public class Model1 : DbContext {

b) Now you decide that the name you just wrote is just bad, so you change it to AppContext
Your code now looks like this:
public class AppContext : DbContext {

Then you try to fake CRUD (create, read, update, delete) operations with representations, and it won’t work!

Why?
Well, if we go to the web.config file, we will see the following line:
<add name="Model1" connectionString="data source=(LocalDb)\v11.0;initial catalog=Skelleton.Models.Model1;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework" providerName="System.Data.SqlClient" />
(This line is usually below <add name="DefaultConnection" )
And there is a problem. You need to change Model1 for the name you gave out!
In this case, he should say "AppContext" instead of "Model1"
And where he says:
initial catalog=Skelleton.Models.Model1;
Make sure that:
This is the name of the .cs file that has the class
The namespace (or series of names (separated by periods) that precedes the name of your class) is correct. It is important to note that you are not adding the extension ".cs"; just the name of your file.
It should look like this: 
Since I changed the class name, both inside and outside (inside it and its name), and did not change its location, I just rename it to AppContext
After that. You can scaffold normally;)
Hope this helps!