2011-08-24 13 views
5

Hola, estoy tratando de definir el modelo de Caterpillar para mi aplicación MVC3. Y me gustaría saber cómo puedo configurar Id para incrementar automáticamente.Cómo aumentar automáticamente el tipo de datos Modelo

public class Category 
    { 
     [Required] 
     public int Id { get; set; } 

     [Required] 
     public string Name { get; set; } 

     [Required] 
     public string Type { get; set; } 

     [Required] 
     public string Title { get; set; } 

     [Required] 
     public string MetaKey { get; set; } 

     [Required] 
     public string MetaKeyDesc { get; set; } 

     [Required] 
     public DateTime CreatedAt { get; set; } 

     [Required] 
     public DateTime UpdatedAt { get; set; } 

     public int CategoryId { get; set; } 

    } 
+1

esto no tiene nada que ver con MVC. estás hablando de una 'IDENTIDAD', que es una preocupación de la base de datos. – RPM1984

Respuesta

7

Simplemente ponga una anotación [Key] antes del campo Id.

4

Si quieres que esto suceda de forma automática todo cuando no se especifica ningún ID y simplemente 'funciona' establece este campo en la base de datos para ser un campo de identidad, como se muestra a continuación. column identity in visual studio

Si está utilizando primero el código de Entity Framework - no hay soporte actual en v4 para esto. Ver: Does Entity Framework 4 Code First have support for identity generators like NHibernate?

Si está utilizando 4.1 y tiene una base de datos existente ver este enlace, cuenta con el apoyo de campos de identidad existentes:

Using Entity Framework 4.1 Code First with an existing database No estoy seguro de si esto es compatible con el código primero (sin db) aún en 4.1 aunque.

6
using System.ComponentModel.DataAnnotations; 
public class Category 
{ 


    [DatabaseGenerated(DatabaseGeneratedOption.Identity)] 
    [Required] 
    public int Id { get; set; } 
} 
Cuestiones relacionadas