实体框架代码中的唯一键错误

时间:2016-06-14 07:26:35

标签: entity-framework

My Class
public  class Dept_Master
 {
   [Key]
   public int Dept_Id { get; set; }
   [Index(IsUnique =true)]
   public string Dept_Name { get; set; }
   public bool status { get; set; }           
}

关注错误

  

' /'中的服务器错误应用

     

专栏' Dept_Name'在表格'dbo.Dept_Master'是一种无法用作索引中的键列的类型。

描述:

期间发生了未处理的异常
  

执行当前的Web请求。请查看堆栈跟踪   有关错误及其来源的更多信息   代码。

     

异常详细信息:System.Data.SqlClient.SqlException:Column   ' DEPT_NAME'在表格'dbo.Dept_Master'属于无效的类型   用作索引中的键列。

enter image description here

2 个答案:

答案 0 :(得分:1)

当您使用VARCHAR(Max)时,我们会收到此错误。请尝试使用:

[Column(TypeName = "VARCHAR")]
[StringLength(n)]
[Index(IsUnique = true)]
public string Dept_Name { get; set; }

其中n介于1和450之间。

答案 1 :(得分:1)

  

双向您可以指定唯一键

1)
    [Column(TypeName = "NVARCHAR")]
    [StringLength(2000)]
    [Index(IsUnique = true)]
    public string Dept_Name { get; set; }

2)
   [Column(TypeName = "VARCHAR")]     
   [Index(IsUnique = true)]
   public string Dept_Name { get; set; }
  

字符串长度varchar数据类型

不需要@do
相关问题