提纲
- 索引
- 唯一索引
- 包含附加字段的索引
- 含筛选条件的索引
EFCore不支持 Index 标注,只支持 FluentAPI
Toolbelt.EntityFrameworkCore.IndexAttribute 外部的支持索引的包
modelBuilder.Entity<Blog>().HasIndex(b => b.Url);
modelBuilder.Entity<Person>().HasIndex(p => new { p.FirstName, p.LastName });
modelBuilder.Entity<Blog>().HasIndex(b => b.Url).IsUnique();
modelBuilder.Entity<Blog>() .HasIndex(b => b.Url) .HasName("Index_Url");
指定筛选条件的索引
modelBuilder.Entity<Blog>() .HasIndex(b => b.Url) .HasFilter("[Url] IS NOT NULL");
某些关系数据库允许配置一组列,这些列包含在索引中,但不是其 "键" 的一部分
modelBuilder.Entity<Post>() .HasIndex(p => p.Url) .IncludeProperties(p => new { p.Title, p.PublishedOn });
网友评论