C# 为实体框架代码优先应用程序添加索引的正确方法?
当您首先使用实体框架代码时,我一直在研究如何在列上添加索引 在我看来,有三种方法:C# 为实体框架代码优先应用程序添加索引的正确方法?,c#,entity-framework,entity-framework-6.1,C#,Entity Framework,Entity Framework 6.1,当您首先使用实体框架代码时,我一直在研究如何在列上添加索引 在我看来,有三种方法: 在实际迁移中添加它们(在EF 4.2之后) 使用EF 6.1中新的索引属性 直接向列添加索引 我不太喜欢这两种方法,因为: 1:似乎风险很大。有时,您可能需要重置所有迁移并再次进行“初始设置”。然后您的索引可能会被删除 此外,我认为它的透明度很低,而且隐藏得很好 2:似乎是非常新且有限的文档。不知道这个效果如何 3:如果重新创建数据库,则会很危险 所以我的问题是:如何首先在实体框架代码中添加索引 在迁移中手动添加
索引属性
modelBuilder
.Entity<Company>()
.Property(t => t.Name)
.HasColumnAnnotation(
"Index",
new IndexAnnotation(new IndexAttribute("IX_Company_Name")
{
IsUnique = true
}));
modelBuilder
.实体()
.Property(t=>t.Name)
.HasColumnAnnotation(
“索引”,
新指数说明(新指数属性(“IX_公司名称”)
{
IsUnique=true
}));