7

您好,我正在尝试为我的 MVC3 应用程序定义 CatergoryModel。而且我想知道如何将 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; }

    }
4

3 回答 3

11

只需[Key]在 Id 字段之前添加一个注释。

于 2011-11-29T16:55:03.637 回答
9
using System.ComponentModel.DataAnnotations;
public class Category
{


   [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    [Required]
    public int Id { get; set; }
}
于 2016-01-21T11:40:39.587 回答
5

如果您希望这一切在您不指定任何 id 并且它只是“有效”的情况下自动发生,请将此数据库中的字段设置为身份字段,如下所示。 视觉工作室中的列标识

如果您使用的是 Entity Framework Code First - v4 中目前没有对此的支持。请参阅: Entity Framework 4 Code First 是否支持 NHibernate 等身份生成器?

如果您使用的是 4.1 并且您有现有数据库,请参阅此链接,请注意对现有身份字段的支持:

在现有数据库中使用 Entity Framework 4.1 Code First 我不确定是否在 4.1 中支持代码优先(没有 db)。

于 2011-08-24T01:47:28.533 回答