2010-07-13 7 views
2

Мы внедряем систему, использующую EF4 и WPF. Мы замечаем проблему с первоначальной сохранностью данных: при запуске начальной SaveChanges происходит отсрочка 4-6 секунд при запуске команды context.SaveChanges(). Каждый последующий SaveChanges очень быстрый, без заметной задержки. Это не серьезная проблема, но досада не имеет значения.Entity Framework - начальное сохранение медленное

Неужели кто-нибудь из вас испытал эту проблему и знает способ ее преодоления?

Благодаря

+0

Я испытал это с помощью EF3, но не знаю, как это сделать. Я согласен, что это действительно раздражает. – echo

+1

Поместите SQL-профилировщик и трассировку? Посмотрите, что происходит при сохранении – ram

+0

Согласитесь с перезагрузкой @ the. Профилируйте свое приложение с помощью SQL Profiler и профайлера кода. Выясните, что замедляет вас. –

ответ

3

Проблема решена: ответ был заранее сформировать взгляды модели. Причина этого и метод реализации решения находится здесь: http://msdn.microsoft.com/en-us/library/bb896240.aspx.

Вкратце - каждый раз, когда создается новый контекст, Entity Framework генерирует набор представлений, используемых для доступа к базе данных. Это поколение представлений является дорогостоящей операцией и объясняет значительную начальную задержку. Из-за предварительной компиляции этих представлений эта начальная задержка исключается.

Смежные вопросы