2011-08-24 16 views
5

こんにちは私はMVC3アプリケーション用のCatergoryModelを定義しようとしています。そして、私は Idを自動インクリメントに設定する方法を知りたいと思います。あなたが任意のIDを指定しないところ自動増分データ型モデル

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

これはMVCとは関係ありません。あなたはデータベースの懸念事項である 'IDENTITY 'について話しています。 – RPM1984

答えて

7

Idフィールドの前に[Key]注釈を入力するだけです。

4

あなたがすべてにこれをしたい場合は、自動的に発生し、それだけで以下に示すように、アイデンティティフィールドであることをデータベースにこのフィールドを設定する「働きます」。 column identity in visual studio

Entity Framework Code Firstを使用している場合は、このためのv4のサポートはありません。 を参照してください: Does Entity Framework 4 Code First have support for identity generators like NHibernate?

あなたが4.1を使用していて、既存のデータベースは、既存のIDフィールドのサポートを注意し、このリンクを参照してくださいしている場合:

Using Entity Framework 4.1 Code First with an existing database これは最初のコードのためにサポートされている場合、私はわからないんだけど(dbなしで)まだ4.1。

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


    [DatabaseGenerated(DatabaseGeneratedOption.Identity)] 
    [Required] 
    public int Id { get; set; } 
} 
関連する問題