DbContext缓慢加载

我有WPF应用程序,并在每个usercontrol.xaml.cs文件中我有一个字段

private readonly DBContextManager dbManager = new DBContextManager(); 

DBContextManager类:

 public class DBContextManager : DbContext { public DBContextManager() : base("App_DbContext") { Database.SetInitializer(null); } public DbSet Persons { get; set; } } 

因此,第一次打开使用DbContext的usercontrol状态时,在用户控件界面显示之前需要加载2-4s。 一旦加载,我可以回到我以前的usercontrol状态并再次打开usecontrol状态,然后延迟消失。 所以我想问题是,当第一次从DbContext加载数据时,延迟将始终存在。 那么有没有一个解决方案来避免这种第一次缓慢加载? 首先我想的是将这个DBContextManager类设置为静态,或者我将在MainWindow中创建一个DBContextManager实例,然后在任何地方使用该实例,但我不确定这是不是一个好主意。

我正在使用所有最新版本的sqlite和EF6。

如果您正在使用Entity-framework 6,一种方法是使用ngen工具编译ef dll,并避免在应用程序加载ef安装的fron nuget包时延迟​​执行此操作。 您可以在这里查看ngen doc。 http://msdn.microsoft.com/en-us/library/6t9t5wcf%28v=vs.110%29.aspx 。 此外,Julie lerman在Pluralsight.com上有关于ef 6以及如何加速entity framework初始化的良好课程http://www.pluralsight.com/courses/entity-framework-6-ninja-edition-whats-new 。

希望这可以帮助