2011-08-24 12 views
5

Ciao Sto provando a definire il CatergoryModel per la mia app MVC3. E vorrei sapere come posso impostare l'ID per l'incremento automatico.Come incrementare automaticamente il tipo di dati Modello

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

questo non ha nulla a che fare con MVC. stai parlando di un 'IDENTITY', che è una preoccupazione del database. – RPM1984

risposta

7

Inserire semplicemente un'annotazione [Key] prima del campo Id.

4

Se si desidera che questo accada a tutti automaticamente in cui non si specifica alcun ID e semplicemente 'funziona' imposta questo campo nel database per essere un campo di identità come illustrato di seguito. column identity in visual studio

Se si utilizza innanzitutto il codice di Entity Framework, per questo non è disponibile il supporto corrente in v4. See: Does Entity Framework 4 Code First have support for identity generators like NHibernate?

Se si utilizza 4.1 e si dispone di un database esistente vedi questo link, si noti il ​​supporto di campi di identità esistenti:

Using Entity Framework 4.1 Code First with an existing database Non sono sicuro se questo è supportato per primo codice (senza db) ancora in 4.1 però.

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


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