Hola, estoy planeando probar EF Code First en uno de mis proyectos. Esto es lo que quiero en realidad. Tengo tres tablas y la estructura es la siguienteEntity Framework Code-First: defina la clave para este EntityType
public partial class App_user
{
public int id { get; set; }
public string name { get; set; }
public string email_address { get; set; }
public string password { get; set; }
public int user_type { get; set; }
public List<Role> Roles { get; set; }
}
public partial class Role
{
public int id { get; set; }
public string name { get; set; }
}
public partial class User_role
{
public int user_id { get; set; }
public int role_id { get; set; }
public virtual Role Role { get; set; }
public virtual App_user App_user { get; set; }
}
En la tercera tabla no hay ninguna clave primaria. Entonces da un error mientras se ejecuta. Aquí está el mensaje de error -
System.Data.Edm.EdmEntityType:: EntityType 'user_role' ha definido ninguna clave . Defina la clave para este EntityType. System.Data.Edm.EdmEntitySet: EntityType: EntitySet User_roles se basa en el tipo User_role que no tiene claves definidas.
¿Por qué está sucediendo? ¿Existe alguna solucion para esto?
[Key, ForeignKey ("App_user"), Column (Order = 0) ] - ¿Cuál es el espacio de nombre para usar con él? – Mukesh
System.ComponentModel.DataAnnotations (también tiene un ensamblaje separado). –
@LadislavMrnka, no parece aplicar '[Key, ForeignKey (" App_user "), Column (Order = 0)]', solo [Key] está disponible, ¿qué me estoy perdiendo? Gracias. – Abhijeet