如何使用 EF 为 ASP.NET Core 定义索引?

How do I define an index for ASP.NET Core using EF?

我在 ASP.NET 核心项目中使用 EF.Core。我有一个模型 class,但找不到任何关于在 属性 或 class 上设置哪些属性以创建索引或唯一索引的文档。这可能吗?

根据documentation

Indexes can not be created using data annotations.

但是,您可以使用 Fluent API 来达到这个目的。

EF 核心目前不支持(至少目前不支持)。我相信这是一个标准的注释,而不是一个单独的可下载包。您可以使用流利的 API 代替:

protected override void OnModelCreating(ModelBuilder builder)
{
    builder.Entity<User>()
        .HasIndex(u => u.EmailAddress).Unique();
}