Código EF4 Primero: cómo agregar una relación sin agregar una propiedad de navegación

¿Cómo debo definir relaciones usando Code First pero sin usar ninguna propiedad de navegación?

Anteriormente, he definido One-Many y Many-Many utilizando las propiedades de navegación en ambos extremos de la relación. Y las relaciones apropiadas se crean en la base de datos. aquí hay una versión simplificada de cómo se ven las clases (he convertido las relaciones Muchos-Muchos en uno-muchos por simplicidad).

public class User 
{
    public string UserId { get; set; }
    public string PasswordHash { get; set; }
    public bool IsDisabled { get; set; }
    public DateTime AccessExpiryDate { get; set; }
    public bool MustChangePassword { get; set; }

    public virtual Role Role { get; set; }
}

public class Role
{
    public int RoleId { get; set; }
    public string Name { get; set; }
    public string Description { get; set; }

    public virtual ICollection<User> Users { get; set; }
    public virtual ICollection<Right> Rights { get; set; }
}

public class Right
{
    public Guid RightId { get; set; }
    public string Name { get; set; }
    public string Description { get; set; }

    public virtual Role Role { get; set; }
}

Sin embargo, si elimino las propiedades de navegación, no se crean relaciones. Así es como se verían las clases.

public class User 
{
    public string UserId { get; set; }
    public string PasswordHash { get; set; }
    public bool IsDisabled { get; set; }
    public DateTime AccessExpiryDate { get; set; }
    public bool MustChangePassword { get; set; }

    public int Role RoleId { get; set; }
}

public class Role
{
    public int RoleId { get; set; }
    public string Name { get; set; }
    public string Description { get; set; }
}

public class Right
{
    public Guid RightId { get; set; }
    public string Name { get; set; }
    public string Description { get; set; }

    public int RoleId { get; set; }
}

note que en lugar de una propiedad de navegación, tengo la clave principal de la tabla relacionada. Todo se crea sobre la mesa, excepto la relación. Entonces, ¿cómo hago para hacer esto?

BTW, he probado varias combinaciones en el método OnModelCreating del dbcontext pero fue en vano. ¡Cualquier ayuda es muy apreciada

Gracias, Mel

Respuestas a la pregunta(3)

Su respuesta a la pregunta