当在字段前添加唯一约束时,会报如下错:
EntityFramework: Column ‘COLUMN_NAME’ in table ‘dbo.TABLE_NAME’ is of a type that is invalid for use as a key column in an index
[Index(IsUnique=true)]
public string MacAddress { get; set; }Error Message:
Column 'MacAddress' in table 'dbo.AspNetUsers' is of a type that is invalid for use as a key column in an index.
Reason of the problem
This error is because the unique constraint can’t be over 8000 bytes per row and will only use the first 900 bytes even then so the safest maximum size for my field would be 450 characters.
Solution to the problem
To add this limitation in code first model just add the [MaxLength(450)] attribute to your property as shown in the code below.
[Index(IsUnique=true)]
[MaxLength(450)]
public string MacAddress { get; set; }

当尝试在Entity Framework中为字段添加唯一约束时,可能会遇到错误:'COLUMN_NAME' in table 'dbo.TABLE_NAME' 的类型对于索引键列无效。问题在于约束不能超过8000字节。解决方案是在代码第一模型中使用[MaxLength(450)]属性限制字段长度。
540

被折叠的 条评论
为什么被折叠?



