您好我正在尝试为我的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; }
}
答案 0 :(得分:8)
只需在Id字段前添加[Key]
注释。
答案 1 :(得分:6)
using System.ComponentModel.DataAnnotations;
public class Category
{
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
[Required]
public int Id { get; set; }
}
答案 2 :(得分:4)
如果您希望在没有指定任何ID的情况下自动执行此操作,只需“工作”即可将数据库中的此字段设置为标识字段,如下所示。
如果您正在使用实体框架代码优先 - v4中目前没有支持此功能。 看到: Does Entity Framework 4 Code First have support for identity generators like NHibernate?
如果您使用4.1并且您有现有数据库,请参阅此链接,请注意现有标识字段的支持:
Using Entity Framework 4.1 Code First with an existing database 我不确定在4.1中是否首先支持代码(没有数据库)。