【发布时间】:2011-02-05 10:17:12
【问题描述】:
在我的 WPF4 桌面应用程序中,我通过 ADO.NET 实体数据模型 (edmx) 使用与 SQL Server 2008 R2 的连接,我注意到,当我第一次启动应用程序(冷启动)时,它需要的时间太长时间(大约 10 秒),直到应用程序建立(打开)与 DB 的连接并可以执行基本的 LINQ 查询(没有连接,表非常小)并在DataGrid 控件中显示结果。
SQL Server 2008 R2 安装在我的本地 PC 上,因此网络负载没有问题。
我建立 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 kb 可执行文件,无需大量计算)建立与本地 SQL Server 的连接大约 10-13 秒的正常行为吗?
我想,我的硬件不是那么现代,但是,无论如何,10 秒……
您能否提出一些解决方案来提高与 SQL Server 的首次连接的性能?
附:经过长时间的第一次连接程序工作正常并且没有一些性能问题。
【问题讨论】:
-
你的SQL服务器能上网吗?
标签: sql-server wpf performance database-connection ado.net-entity-data-model