В своем настольном приложении WPF4 я использую соединение с SQL Server 2008 R2 через ADO.NET Entity Data Model (edmx) и обратил внимание, что при первом запуске приложения (холодный запуск) это занимает слишком много временивремя (около 10 секунд), пока приложение не установит (не откроет) соединение с БД и сможет выполнить базовый LINQ-запрос (без объединения, таблица действительно мала) и покажет результат в DataGrid
control.
SQL Server 2008 R2установлен на моем локальном ПК, поэтому нет проблем с загрузкой сети.
Способ создания соединения SQL (во внешнем потоке):
public static DBEntities dbContext = new DBEntities();
dbContext.Connection.Open();
Конфигурация соединения:
<connectionStrings>
<add name="DBEntities" connectionString="metadata=res://*/DBModel.csdl|res://*/DBModel.ssdl|res://*/DBModel.msl;provider=System.Data.SqlClient;provider connection string="Data Source=.\SQLEXPRESS;Initial Catalog=DB;Integrated Security=True;MultipleActiveResultSets=True"" providerName="System.Data.EntityClient" />
</connectionStrings>
Мой вопрос: нормально ли для небольшого базового WPF-приложения (исполняемый файл размером 300 Кбайт, без тяжелых вычислений) устанавливать соединение с локальным SQL Server примерно за 10-13 секунд?
Полагаю, чтомое оборудование не такое современное, но, в любом случае, 10 секунд ...
Не могли бы вы предложить мне несколько решений для повышения производительности первого соединения с SQL Server?
PS После долгого первого соединения программа работает нормально и проблем с производительностью нет.