Question: I use a bunch of Ubuntu 16.04 + Apache 2.4 + Django 1.10 + Python3.5 + wsgi + virtualenv.

The apache configuration ordered following

```
WSGIDaemonProcess myproject python-path/home/admin/web/domen.com/private/myprojectenv:/home/admin/web/domen.com/private/myprojectenv/lib/python3.5/site-packages
WSGIProcessGroup myproject
WSGIScriptAlias / /home/admin/web/domen.com/private/myproject/wsgi.py

```

wsgi.py standard

```
import os

from django.core.wsgi import get_wsgi_application

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "myproject.settings")

application = get_wsgi_application()

```

Reinstall everything. Fat, you see the error 500.
 log:
`from django.core.wsgi import get_wsgi_application
 ImportError: No module named 'django'`

Answer: 
Had exactly this error message (`Value cannot be null. (Parameter 'type')`) when I added a migration. Tried the other solutions (restart VS) but they didn't work.

After a long time searching I found the source of the problem.
I made a mistake when setting the 'InverseProperty' annotation in one of my POCOs:

```
public class Workflow{
 [InverseProperty("Workflow")]
 public List<Node> Nodes { get; set; } 
 ...
}
public class Node{
 public int WorkflowId{ get; set; } 
 public Workflow Workflow{ get; set; } 
 ...
}

```

instead of

```
public class Workflow{
 [InverseProperty("WorkflowId")] //needs to be Workflow instead of WorkflowId
 public List<Node> Nodes { get; set; } 
 ...
}

```

I wished the EF Exception would have been a bit more precise.
In my case the issue was that my ip address has changed and the target database - behind a firewall - was no longer accepting connections from my machine.

For this flavour of the problem the solution is changing the firewall settings or fixing any other connection issues.