这是我想要创建的超级简单类。
public class Company
{
public int ID { get; set; }
[Column(TypeName = "VARCHAR(254)")]
[Index]
public string Name { get; set; }
[Index]
public int stupidField { get; set; }
}
我的目标是强制Name
独一无二,所以我添加了装饰[Index(IsUnique = true)]
。但是没有创建唯一索引,所以我想我会首先尝试解决创建任何索引的简单问题。因为我读here无法为类型为varchar(max)
的列创建索引,所以我限制了Name
字段的长度。仍然没有运气。我甚至尝试了一些不同的语法来限制字段的长度,但仍然没有索引。
要查看字符串长度以外的其他内容是否正在播放,我创建了整数字段stupidField
,但我也无法索引该字段。所以现在我完全没有关于可能出错的想法。请帮帮我!
Check out this screenshot,显示我的字段正在创建但不是索引。
注意:我确定迁移不是问题。 我在SO上读过的一些人正在更新他们的课程,但由于他们的迁移问题,这些更改没有反映在数据库中。这与此无关。我删除数据库并在每次进行更改时重新创建它。 (我甚至做了一些愚蠢的改变,比如重命名我的字段,只是为了确保我仍然可以影响数据库。)
答案 0 :(得分:0)
事实证明,我实际上使用的是实体框架核心,而不是实体框架。在Entity Framework Core中,尽管可以使用流畅的API创建索引,但无法使用属性创建索引。 See Microsoft's documentation.