Q:

EF. Why is dynamicproxies only create for some entites?

I'm using Entity Framework with database first. I have a edmx file with entites, among others Order and Device.
I do the simplest possible queries like this.
var o = db.Orders.First();
var d = db.Device.First();

If I put a breakpoint after these lines and add a watch to both o and d, I can see that o is of type "System.Data.Entity.DynamicProxies.Order_F41BB20DDE174FDA86E0D7716990689D9E5D9260345B31726A97A13750358370", while d is of type "MyNamespace.Device".
Why has not a dynamicproxy been generated for Device? 
Since no proxy is generated for Device, lazyloading does not work.
My Device class looks like this:
public partial class Device
{
    protected Device()
    {
        this.ActiveLoadingComputers = new HashSet<ActiveLoadingComputer>();
        this.LoadReports = new HashSet<LoadReport>();
    }

    public int Id { get; protected set; }
    public string Name { get; set; }
    public Nullable<System.DateTime> Updated { get; set; }
    public Nullable<int> LoadingPlace_Id { get; protected set; }

    internal virtual ICollection<ActiveLoadingComputer> ActiveLoadingComputers { get; private set; }
    internal virtual ICollection<LoadReport> LoadReports { get; private set; }
    internal virtual LoadingPlace LoadingPlace { get; private set; }
}

and it also have another partial definition.
public partial class Device
{
    public Device(string name) : this()
    {
        Name = name;
    }

}

A:

It is due to private specifier for set accessor of navigation properties.

