C# 使用SQL Server CE数据库时Winforms加载缓慢

C# 使用SQL Server CE数据库时Winforms加载缓慢,c#,winforms,visual-studio-2013,sql-server-ce,mdi,C#,Winforms,Visual Studio 2013,Sql Server Ce,Mdi,在我将Winforms程序的设置从文本文件存储切换到SQLServerCE数据库后,我的Winforms程序需要很长时间(大约15秒)才能启动。我已经在后台工作程序中移动了所有重载操作,并在显示的事件中留下了一些基本内容,但是GUI需要很长时间才能显示出来 我有一个类库来处理所有的数据库操作(创建、插入、选择、删除、更新)。当这个类被实例化时,它检查数据库是否存在,如果不存在,则创建数据库,否则它将测试连接字符串并将其保留在那里,直到调用任何操作为止。每次我打开表单时都会发生这种情况。那么,在每

在我将Winforms程序的设置从文本文件存储切换到SQLServerCE数据库后,我的Winforms程序需要很长时间(大约15秒)才能启动。我已经在后台工作程序中移动了所有重载操作,并在显示的事件中留下了一些基本内容,但是GUI需要很长时间才能显示出来

我有一个类库来处理所有的数据库操作(创建、插入、选择、删除、更新)。当这个类被实例化时,它检查数据库是否存在,如果不存在,则创建数据库,否则它将测试连接字符串并将其保留在那里,直到调用任何操作为止。每次我打开表单时都会发生这种情况。那么,在每个表单中创建此类的新对象是不好的,还是应该在表单之间共享该对象?(每次操作后连接关闭)


其次,我有一个MDI表单,其中包含许多子表单,它们的出现取决于用户单击的按钮和处理未使用的表单。MDI父项和子项在打开时闪烁。我应该把没用的藏起来而不是处理掉吗?我试着给孩子们双重缓冲,但没有多大帮助

也许是这个@ErikEJ所有3种情况都不适用于我的案例在第一次访问你的lib时打开数据库连接并让它保持打开和未使用可能会有帮助…@ErikEJ我还有一个启动屏幕,我应该在调用MDI父窗体之前在这里实例化数据库对象吗?