With the release of Entity Framework 6.1 the Fluent API can now be used to create indexes. It’s still pretty basic and will hopefully evolve to become more complete in future releases.
For all the examples below I’m using the following model
One thing to note here is that if your single column index matches the start of a multi column index the Entity Framework is smart enough not to create it as it’s already covered by the multi column one.
Multi Column Indexes
Unique Indexes
Clustered Indexes
What’s Not Possible Using Fluent API
As of Entity Framework 6.1.1
Include Fields
Sort Order (ASC,DESC)
Filtered Indexes
Whilst this is a big step forwards it still feels like a work in progress. I would hope to end up with a friendlier and more complete syntax for doing this something like…