Entity Framework 1 не имеет ничего общего с созданием вашей схемы или добавлением внешних ключей в вашу «матрицу», которую многие называют многими таблицами. Entity Framwork 4.0 может создать эти таблицы для вас и будет иметь необходимые ключи и индексы.
Индексы автоматически создаются для любых первичных ключей, поэтому вам не нужно беспокоиться о настройке правильного индекса, если вы правильно создали таблицу.
Entity Framework действительно пишет оптимизированные запросы для 99% распространенных сценариев CRUD. Если вы сходите с ума от операторов esql или linq, они могут быть не такими оптимизированными, но все равно должны нормально работать с доступом к запросам малого и среднего масштаба.
Entity Framework не несет ответственности за использование правильных индексов, то есть работа с оптимизаторами запросов к вашим базовым хранилищам данных. Вы можете писать плохо работающие запросы, которые не используют индексы должным образом, но это действительно крайний случай, о котором я бы не беспокоился, пока не обнаружите проблему.
TL: DR;
Entity Framework также не несет ответственности за выполнение заданий, о которых вы спрашиваете, и в большинстве случаев отлично работает.