Entity Framework 4: В каких сценариях предварительно созданные представления повышают производительность? - PullRequest
1 голос
/ 26 января 2011

У нас есть проект, в котором мы используем Entity Framework 4. Я протестировал предварительно сгенерированные представления. Но мы не видим никакой разницы в производительности. Пример: у нас есть таблица транзакций, около 20 столбцов. Помогут ли предварительно созданные представления при первом запуске запроса, подобного этому:

Транзакция транзакция = repo.Single (t => t.TransactionId == 22857);

В более общем плане, предварительно созданные представления увеличивают производительность в сценариях, где оператор "where" отличается?

Еще одна странная вещь: если я запускаю в режиме отладки, устанавливаю точки останова в автоматически сгенерированном ... Views.cs классе, код никогда не входит в автоматически сгенерированный ... Views.cs класс.

1 Ответ

1 голос
/ 26 января 2011

Предварительно созданные представления не помогут для пользовательских запросов, подобных вашим.CompiledQuery поможет в этом, однако.

Они помогают при запросах, сгенерированных, например, myEntity.SomeAssociation.Load().Или ленивая загрузка.Или неограниченное выделение всех.

Это помогает только для первого выполнения в контексте, но может быть заметным улучшением.

...