我正在使用实体框架版本 6.1.3。域模型类如下所示:
public class ReferenceBook
{
public int Id {get;set;}
[Index("IX_ParentId_Name", IsUnique = true, Order = 1)]
public int? ParentId {get;set;}
[Required, Index("IX_ParentId_Name", IsUnique = true, Order = 2)]
public string Name {get;set;}
}
当我尝试运行生成的迁移时,出现错误:
“dbo.Items”表中“名称”列的类型不允许将其选为索引键列。
关于stackoverflow的类似问题
事实证明,此错误是由于缺少注释而发生的
StringLength。通过如下添加此注释:我们从而限制了数据库表
[StringLength(50)]中列的长度Name之后,迁移运行没有问题