как сделать строку поля уникальным mvc 5 asp.net

1
public class Sport
{

    public int SportID { get; set; }

    [Required(ErrorMessage = "The Name field is required.")]
    [DisplayFormat(ConvertEmptyStringToNull = false)]
    [StringLength(50, MinimumLength = 3)]
    public string Name { get; set; }

    [DataType(DataType.Date)]
    [DisplayFormat(DataFormatString = "{0:yyyy-MM-dd}", ApplyFormatInEditMode = true)]
    [Display(Name = "Start Date")]
    public DateTime StartDate { get; set; }

    [Column(TypeName = "money")]
    public decimal Price { get; set; }

    public int? InstructorID { get; set; }

    [Timestamp]
    public byte[] RowVersion { get; set; }

    public virtual ICollection<Instructor> Instructors { get; set; }
    public virtual ICollection<Group> Groups { get; set; }

}

Ключом в этой таблице является SportID. Я могу создать больше видов спорта с одним и тем же именем, но мне это не нравится

Как мне Название спорта может быть уникальным? Пожалуйста, помогите мне. благодаря

  • 0
    I can create a more sports with a same name, but i don't like this что ты имеешь в виду под этим? создавая их в базе данных? немного больше информации требуется здесь.
Теги:
asp.net-mvc
unique

2 ответа

3

Вы ищете аннотацию данных Index. Документация здесь

[Required(ErrorMessage = "The Name field is required.")]
[DisplayFormat(ConvertEmptyStringToNull = false)]
[StringLength(50, MinimumLength = 3)]
[Index]
public string Name { get; set; }
  • 0
    Атрибут Index был введен в Entity Framework 6.1. Если вы используете более раннюю версию, информация в этом разделе не применяется.
0

SportID будет уникальным (для большинства случаев - выбор основного ключа из базы данных)

Wrt SportName, чтобы быть уникальным, вы принимаете меры предосторожности (правило проверки места - сторона клиент/сервер), я бы рекомендовал для RemoteValidation в MVC.

Удаленная проверка

Удаленное видео проверки

Ещё вопросы

Сообщество Overcoder
Наверх
Меню