Во-первых, я новичок в MVC.Как создать уникальное ограничение для поля строки типа в EF 6?
У меня есть таблица Project, в которой есть поля ProjectID, ProjectNumber и ProjectDescription. ProjectId является entityKey типа int, ProjectNumber должен быть уникальным ограничением.
Как это сделать в инфраструктуре сущности 6.1.3?
в моем классе проекта у меня есть
public int ProjectID { get; set; }
[Index(IsUnique = true)]
[StringLength(200)]
public string ProjectNumber { get; set; }
public string ProjectDescription { get; set; }
, когда я произвожу базу данных из модели, поле не установлено, как уникальный в базе данных.
что я делаю неправильно?
Просто убедитесь, что у вас есть ссылка на это пространство имен: 'using System.ComponentModel.DataAnnotations.Schema;' right? Также попробуйте добавить атрибут maxlength, чтобы увидеть, имеет ли значение значение: '[MaxLength (200)]' –
да, у меня есть ссылка на пространство имен System.ComponentModel.DataAnnotations.Schema. Я внес изменения в '[Index (IsUnique = true)] [MaxLength (200)] public string ProjectNumber {get; задавать; } 'после того, как я сделал изменение, я сохранил класс, затем я иду дизайнером модели и создаю базу данных из модели? – user3726459
Да, попробуйте '[MaxLength (200)]' вместо '[StringLength (200)]', или если это не сработает, попробуйте оба из них. Сервер должен знать, что существует ограничение на количество символов перед добавлением уникального ограничения. –