Visual Studio Ultimate 2013 在使用 Entity Framework Power Tools Beta 4 时崩溃

Visual Studio Ultimate 2013 crashes when using Entity Framework Power Tools Beta 4

我在 Windows 8.1 机器上 运行 VS Ultimate 2013 并且已经成功运行了几个月。但是,我今天刚刚为 Entity Framework Power Tools Beta 4 安装了 NuGet 包,但遇到了问题。安装 EFPT 后,我重新启动 VS,加载我的解决方案,使我的 "data" 项目成为启动项目,右键单击我的 class 派生自 DbContext -> Entity Framework -> 生成视图。 Visual Studio 完全崩溃并重新启动。我试过单击 EFPT 上下文菜单中的其他选项,例如 "View Entity Data Model (read-only)",所有这些都会导致 VS 完全崩溃并重新启动。

我是 运行 VS 更新 3,所以我安装了更新 4,但仍然是同样的问题。如果 运行 devenv.exe 在安全模式下它不会崩溃,但 EFPT 实际上也不会做任何事情。

所以现在,我是 运行 VS 版本 12.0.31101.00 更新 4,带有 .NET Fx 4.5.51641 和 Entity Framework 6.1.2。

最终,我正在尝试为我的代码优先 EF 上下文创建一个 EDM 映射文件以缓存和减少启动时间。如果我遇到的这个问题是已知问题,是否有生成此映射的修复程序或解决方法???

谢谢埃里克。我想回答我自己的问题,因为我能够更进一步。而不是编写(大量)代码来生成缓存视图并且每次代码更改时都必须 运行 它。

Microsoft SignalR 团队的开发人员 Pawel Kadluczka 编写了一段不错且易于使用的代码,可以通过 NuGet 安装。 "Interactive Pre-Generated Views" 项目在添加到您的数据程序集后,将查找缓存的视图,如果未找到,则即时生成它们。开箱即用,它支持文件和数据库缓存视图信息。

我唯一需要添加的代码是:

static DynamicDbContext()
    {
        InteractiveViews.SetViewCacheFactory(new DynamicDbContext(), new FileViewCacheFactory(_SCRIPT_DIRECTORY + "dbviews.xml"));
    }

我真的花了 5 分钟来安装、编写代码、执行和确认。

它需要 运行 在使用您的 dbcontext 执行任何查询之前,因此他建议将这段代码放在您的自定义 dbContext 的静态 ctor 中。

Pawel 的博客 post 他对其进行了描述:http://blog.3d-logic.com/2013/12/14/using-pre-generated-views-without-having-to-pre-generate-views-ef6/

您可以通过 NuGet 安装或在 CodePlex 上阅读更多相关信息:https://efinteractiveviews.codeplex.com/