2011-04-22 32 views
6

Estoy intentando configurar campos en una base de datos utilizando el método mvc3. Cuando ejecuto el programa obtengo unNo se puede definir la clave del modelo con mvc3

System.Data.Edm.EdmEntityType:: EntityType 'CarModel' no tiene una clave definida. Defina la clave para este EntityType.

mi modelo se parece a esto

public class CarModel 
{ 

    public string VIN { get; set; } 
    public string Make { get; set; } 
    public string Model { get; set; } 
    public string Year { get; set; } 
    public string Color { get; set; } 
    public string Mileage { get; set; } 
    public string Description { get; set; } 
} 

que he visto donde la gente agrega una identificación, pero el imposible de tener una base de datos propiedad ID. Y cuando intento agregar [Key] sobre el VIN, que es la clave principal en la base de datos. Da un error rojo squiggly debajo de la tecla.

Parece que me falta algo de referencia.

+0

¿Cuál es el mensaje de error exacto para el atributo clave? –

+0

System.Data.Edm.EdmEntityType:: EntityType 'CarModel' no tiene una clave definida. Defina la clave para este EntityType. System.Data.Edm.EdmEntitySet: EntityType: EntitySet Cars se basa en el tipo CarModel que no tiene claves definidas. – Bryan

+0

no se encontró el tipo o espacio de nombres 'clave' – Bryan

Respuesta

9

La referencia que se está perdiendo es probablemente System.ComponentModel.DataAnnotations; no se agrega esto si escribe Ctrl-. con el cursor al lado de [Key]?

+0

esa era exactamente la referencia que me faltaba. Gracias por tu ayuda. No pasa nada cuando escribo ctrl-? debería – Bryan

+1

Ctrl-. (Ctrl y la tecla de período) deberían darle un diálogo que le permite importar fácilmente tipos definidos en espacios de nombres particulares. El cursor debe estar al lado del texto subrayado en rojo. –

3

El marco de entidad requiere que cada entidad tenga definida una clave principal. Si lo que desea es eliminar el error a continuación, añadir lo siguiente:

[Key] 
public int id { get; set; } 

y

public CarModel() 
{ 
    id = 1; 
} 
+0

el [Key] no funciona, da un error rojo squiggly que dice "el tipo o espacio de nombres 'clave' no se pudo encontrar" – Bryan

+0

tuve que construir mi proyecto antes de que el Key fuera reconocido por mi comando Agregar controlador. – Yack

+3

El espacio de nombres DataAnnotaciones es donde reside el atributo clave. – BentOnCoding

Cuestiones relacionadas