У меня есть аннотация данных:
[Required]
[MaxLength(150)]
[Index(IsUnique = true)]
public string GuidName { get; set; }
Теперь нам нужно переместить его в Fluent API (и не спрашивать меня, почему).
Мой код:
this.Property(c => c.GuidName).IsRequired().HasMaxLength(150);
this.HasIndex(c => c.GuidName).IsUnique(true).IsClustered(false);
Генерирует следующую миграцию:
public override void Up()
{
DropIndex("dbo.Companies", new[] { "CompanyUniqueString" });
CreateIndex("dbo.Companies", "CompanyUniqueString", unique: true);
}
public override void Down()
{
DropIndex("dbo.Companies", new[] { "CompanyUniqueString" });
CreateIndex("dbo.Companies", "CompanyUniqueString", unique: true);
}
Как мы видим, он делает то же самое и имеет одинаковый код в Up и Down. Но почему он вообще генерируется?