如何在EF 6中创建字符串类型字段的唯一约束?

本文关键字:字段 类型 唯一 约束 字符串 创建 EF | 更新日期: 2023-09-27 18:07:04

首先,我是MVC的新手。

我有一个项目表,其中有projectd、ProjectNumber和ProjectDescription字段。projecd是int类型的entityKey, ProjectNumber需要是唯一的约束。

如何在实体框架6.1.3中做到这一点?

在我的Project类中有

        public int ProjectID { get; set; }
        [Index(IsUnique = true)]
        [StringLength(200)]
        public string ProjectNumber { get; set; }
        public string ProjectDescription { get; set; }

当我从模型生成数据库时,该字段在数据库中没有设置为唯一的。

我做错了什么?

如何在EF 6中创建字符串类型字段的唯一约束?

根据实体框架代码中的答案第一个唯一列

试试这个代码:

public int ProjectID { get; set; }
[Index("ProjectNumber_Index", IsUnique = true)]
[MaxLength(200)]
public string ProjectNumber { get; set; }
public string ProjectDescription { get; set; }

并确保字符串没有设置为nvarchar(MAX)在你的SQL Server或你会看到一个错误与实体框架代码优先