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.
This issue is most commonly raised when the ApplicationDbContextModelSnapshot file in the Migrations folder no longer matches the entity relationship.

Perhaps deleting this file and running the migration could solve the problem. Anyways, this file is again created while add-migration command is executed.