Как автоматически увеличить модель типа данных - PullRequest
5 голосов
/ 24 августа 2011

Здравствуйте, я пытаюсь определить CatergoryModel для моего приложения MVC3.И я хотел бы знать, как я могу установить 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; }

    }

Ответы [ 3 ]

8 голосов
/ 29 ноября 2011

Просто поместите аннотацию [Key] перед полем Id.

6 голосов
/ 21 января 2016
using System.ComponentModel.DataAnnotations;
public class Category
{


   [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
    [Required]
    public int Id { get; set; }
}
4 голосов
/ 24 августа 2011

Если вы хотите, чтобы все это происходило автоматически, когда вы не указываете какой-либо идентификатор, и оно просто «работает», установите это поле в базе данных как поле идентификатора, как показано ниже. column identity in visual studio

Если вы используете Entity Framework Code First - в v4 в настоящее время нет поддержки для этого. Увидеть: Имеет ли Entity Framework 4 Code First поддержку генераторов идентификаторов, таких как NHibernate?

Если вы используете 4.1 и у вас уже есть база данных, перейдите по этой ссылке, обратите внимание на поддержку существующих полей идентификации:

Использование Entity Framework 4.1 Code First с существующей базой данных Я не уверен, поддерживается ли это для кода сначала (без БД), хотя в 4.1.

...