如何自动递增数据类型模型
您好,我正在尝试为我的 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; }
}
Hello I'm trying to define the CatergoryModel for my MVC3 app. And I would like to know how can I set
Id to auto increment.
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; }
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
只需在 Id 字段之前添加
[Key]
注释即可。Simply put a
[Key]
annotation before the Id field.如果您希望这一切在不指定任何 id 的情况下自动发生,并且它只是“有效”,请将此字段设置为数据库中的身份字段,如下所示。
如果您使用的是实体框架代码优先 - v4 中当前不支持此操作。
看:
Entity Framework 4 代码优先吗支持像 NHibernate 这样的身份生成器吗?
如果您使用的是 4.1 并且已有数据库,请参阅此链接,注意现有身份字段的支持:
使用使用现有数据库的 Entity Framework 4.1 Code First
我不确定 4.1 中是否支持代码优先(没有数据库)。
If you want this to all happen automatically where you don't specify any id and it just 'works' set this field in the database to be an identity field as shown below.
If you are using Entity Framework Code First - there is no current support in v4 for this.
See:
Does Entity Framework 4 Code First have support for identity generators like NHibernate?
If you are using 4.1 and you have an existing database see this link, note the support of existing identity fields:
Using Entity Framework 4.1 Code First with an existing database
I'm not sure if this is supported for code first (with no db) yet in 4.1 though.