Entity Framework Code Erster Fremdschlüssel, der ebenfalls einen Index hinzufügt

Ich habe einfache Tabellendefinition in EF 6 Code-First mit einfachen Fremdschlüssel.

public class Address
{
        /// <summary>
        /// Gets or sets the id.
        /// </summary>
        [Key]
        [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
        [Column(Order = 1)]
        public int Id { get; set; }

         /// <summary>
        /// Gets or sets the town.
        /// </summary>
        public virtual Town Town { get; set; }

        /// <summary>
        /// Gets or sets the paf address town id.
        /// </summary>
        [Column(Order = 2)]
        public int TownId { get; set; }
}

Beim Erstellen der Tabelle wird sowohl ein Fremdschlüssel als auch ein Index erstellt. Ich frage mich, warum, weil ein solcher Index normalerweise sehr ineffizient ist und bei großen Datenbanken viele Probleme verursacht. Warum also wurde dieser Index anstatt nur des Fremdschlüssels erstellt? Und wie man diese Indexerstellung standardmäßig deaktiviert.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage