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

时间:2016-09-14 01:40:03

标签: c# asp.net-mvc entity-framework entity-framework-6 ef-database-first

首先,我是MVC的新手。

我有一个Project表,其中包含ProjectID,ProjectNumber和ProjectDescription字段。 ProjectId是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; }

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

我做错了什么?

1 个答案:

答案 0 :(得分:3)

基于Entity Framework code first unique column

中的答案

试试这段代码:

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

确保SQL Server中的字符串未设置为nvarchar(MAX),否则您将看到Entity Framework Code First的错误。