IndizesIndexes

Hinweis

Die Konfiguration in diesem Abschnitt ist im Allgemeinen gilt für relationale Datenbanken.The configuration in this section is applicable to relational databases in general. Die Erweiterungsmethoden, die hier gezeigten werden verfügbar, wenn Sie einen relationale Datenbank-Anbieter installieren (aufgrund der freigegebenen Microsoft.EntityFrameworkCore.Relational Paket).The extension methods shown here will become available when you install a relational database provider (due to the shared Microsoft.EntityFrameworkCore.Relational package).

Ein Index in einer relationalen Datenbank ordnet dasselbe Konzept wie ein Index im Kern des Entity Framework.An index in a relational database maps to the same concept as an index in the core of Entity Framework.

KonventionenConventions

Indizes werden gemäß der Konvention benannt IX_<type name>_<property name>.By convention, indexes are named IX_<type name>_<property name>. Bei zusammengesetzten Indizes <property name> wird eine Unterstrich getrennte Liste von Eigenschaftsnamen.For composite indexes <property name> becomes an underscore separated list of property names.

DatenanmerkungenData Annotations

Indizes können nicht mithilfe von Datenanmerkungen konfiguriert werden.Indexes can not be configured using Data Annotations.

Fluent-APIFluent API

So konfigurieren Sie den Namen eines Indexes können Sie die Fluent-API verwenden.You can use the Fluent API to configure the name of an index.

class MyContext : DbContext
{
    public DbSet<Blog> Blogs { get; set; }

    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        modelBuilder.Entity<Blog>()
            .HasIndex(b => b.Url)
            .HasName("Index_Url");
    }
}

public class Blog
{
    public int BlogId { get; set; }
    public string Url { get; set; }
}