Оператор Like можно выполнить с помощью функции Contains:
var query = from p in context.Persons
where p.Name.Contains("abc")
select p;
Индекс должен быть добавлен SQL - в EF нет специальной конструкции для создания индекса.Вы можете выполнить этот SQL из инициализации БД.
Сначала вы должны реализовать собственный инициализатор:
public class MyInitializer : CreateDatabaseIfNotExists<MyContext>
{
protected override void Seed(MyContext context)
{
context.Database.SqlCommand("CREATE INDEX IX_Person_Name ON Person (Name)");
}
}
Затем вы должны зарегистрировать новый инициализатор:
DbDatabase.SetInitializer<MyContext>(new MyInitializer());