Indexing Extensions for Entity Framework 6
PM> Install-Package EntityFramework.IndexingExtensions
public class MyDataContext : DbContext
{
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<Customer>()
.HasIndex("IX_Customers_Name", // Provide the index name.
e => e.Property(x => x.LastName), // Specify at least one column.
e => e.Property(x => x.FirstName)) // Multiple columns as desired.
.HasIndex("IX_Customers_EmailAddress", // Supports fluent chaining for more indexes.
IndexOptions.Unique, // Supports flags for unique and clustered.
e => e.Property(x => x.EmailAddress));
}
}
After publishing this, I was informed that there is an active pull request here to add something similar directly into Entity Framework. Therefore, this project will likely be short-lived. Feel free to use it as you like, but I'll probably take it offline after the official version is published.