在 DBFirst 场景中,在映射中添加 .HasIndex() 有什么好处?

What is the benefit of adding .HasIndex() in your mappings, on a DBFirst scenario?

我一直在搜索 EF Core 文档,如果在您的实体映射上添加 .HasIndex() 会给 DbFirst 场景带来任何好处,但我找不到任何东西。

我有这个 20yo 数据库,它创建了所有必要的表和索引,我正在映射一些表以使用 EF Core 查询它们。我想知道,在永远不会通过代码更新表模式的 DbFirst 场景中映射索引有什么好处?它会影响 EF 生成 SQL 查询的方式吗?

None。 HasIndex 仅适用于为 code-first/migrations 创建索引。您不需要为 EF 映射索引来生成或优化查询。

我确实建议在将 EF 引入项目后 record/report 执行最常见的查询,以确定是否有新索引或对现有索引的调整可能有益于应用程序的性能。 (即包含的列)