如何首先使用代码在Entity Framework 6.2中创建索引

光:

有没有一种方法可以使用代码优先而不是使用新代码在属性/列上创建索引IndexAttribute

CH:

2017年10月26日,实体框架6.2 正式发布它包括通过Fluent API轻松定义索引可能性何其使用已在6.2 beta中宣布

现在,您可以使用该HasIndex()方法,然后IsUnique()使用它是否应该是唯一索引。

只是一个小的比较(之前/之后)示例:

// before 
modelBuilder.Entity<Person>()
        .Property(e => e.Name)
        .HasColumnAnnotation(
            IndexAnnotation.AnnotationName, 
            new IndexAnnotation(new IndexAttribute { IsUnique = true }));

// after
modelBuilder.Entity<Person>()
    .HasIndex(p => p.Name)
    .IsUnique();

// multi column index
modelBuilder.Entity<Person>()
    .HasIndex(p => new { p.Name, p.Firstname })
    .IsUnique();

也可以将索引标记为.IsClustered()


编辑#1

添加了多列索引的示例,以及有关如何将索引标记为群集的其他信息。


编辑#2

作为附加信息,在EF Core 2.1中,它与现在在EF 6.2中完全相同。
是MS Doc articile作为参考。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

首先使用Entity Framework代码创建复杂的主键

首先使用代码在Entity Framework Timestamp中查找更新的条目

首先使用Entity Framework 6代码初始化数据库

首先使用Entity Framework Core 2代码创建varchar

如何首先在Entity Framework代码中创建2个具有相同类型的dbset?

如何使用Entity Framework 6创建内存DbContext?

首先使用Entity Framework 6代码:将字符串属性的unicode设置为false

如何首先在Entity Framework代码中为Identity主键设置起始值?

如何首先在Entity Framework Core 2.0代码中按类型继承创建Table?

首先在Entity Framework代码中链接子表

从Entity Framework 6中的集合中删除

Entity Framework v6 中的 TPC

在Entity Framework 6中更新子对象

如何使用Entity Framework 6在运行时创建数据库和表?

如何在Entity Framework 6中删除多对多关系

如何从Entity Framework 6(首先是数据库)和Npgsql执行存储过程?

在Entity Framework 6中使用SqlQuery <Dictionary <string,string >>

使用Entity Framework 6重构代码以遵循TDD

如何使用Entity Framework 6从存储过程中检索输出参数

如何使用Entity Framework 6从10多个表中获取记录并显示其中的报告?

如何在Entity Framework 6中混合使用TPH和TPT?

如何使用Entity Framework 6访问中间件中的数据库

如何在ASP.NET 5中将Entity Framework 6与MySQL结合使用?

首先将EF6存储功能用于Entity Framework代码,我可以返回自定义类型吗?

将具有相同表的实体映射到不同的架构中Entity Framework 6首先编码

在Entity Framework Core中创建非聚集索引

Entity Framework Core - 首先将动态值分配给代码中的公共列

如何首先使用实体框架 6 代码将对象作为字符串存储在数据库中

如何从RC2中的.NET核心类库引用Entity Framework 6?