【问题标题】:How to Auto Increment Data Type Model如何自动递增数据类型模型
【发布时间】:2011-08-24 00:40:11
【问题描述】:

您好,我正在尝试为我的 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; }

    }

【问题讨论】:

  • 这与 MVC 无关。你在谈论IDENTITY,这是一个数据库问题。

标签: asp.net-mvc-3 model asp.net-mvc-scaffolding


【解决方案1】:

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

【讨论】:

    【解决方案2】:
    using System.ComponentModel.DataAnnotations;
    public class Category
    {
    
    
       [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
        [Required]
        public int Id { get; set; }
    }
    

    【讨论】:

      【解决方案3】:

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

      如果您使用的是 Entity Framework Code First - 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 中是否支持代码优先(没有 db)。

      【讨论】:

        猜你喜欢
        • 2013-08-23
        • 2021-01-20
        • 2021-03-29
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-04-10
        • 2012-02-15
        • 1970-01-01
        相关资源
        最近更新 更多