我在 EF 6 的 Code-First 中有一张简单的表定义,其中包含简单的外键。
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; }
}
当创建表时,它会同时创建一个外键和索引。我想知道为什么会这样,因为这种索引通常非常低效,对于大型数据库来说会导致很多问题。那么为什么它创建了这个索引而不是只创建外键呢?如何默认禁用这样的索引创建。