0

在我们的环境中,我们有 200 多个表,并且我们使用 EF 5.0 Code First 来管理数据库。我们的软件允许用户修改实体并向它们添加自定义字段。

在 200 个中,超过 100 个是固定且不可定制的系统实体。

应用程序的初始加载时间超过 2 分钟!!!!

我们觉得如果我们能以某种方式为固定实体使用 EF 预生成的视图,我们可以延长初始预热时间。

问题是,在什么条件下,EF 允许我们为项目中的多个实体预先生成视图?

4

1 回答 1

0

如果您参考上下文菜单选项实体框架 - 生成视图

是的,视图是每个上下文

然后生成的文件就是有问题的上下文。检查生成视图的来源。您将看到构造函数按名称引用上下文。它还使用上下文哈希检查视图和上下文是否仍然匹配。

/// </Summary>
    public ViewsForBaseEntitySetsCC0A5F35D57704F5E501B804CB5CFFC8DCAD8C8E1AFC199B8C68FCD54D47FF7A()
    {
        this.EdmEntityContainerName = "THE DB CONTEXT NAME";
        this.StoreEntityContainerName = "CodeFirstDatabase";
        this.HashOverMappingClosure = "c7c56b72d1e7053b77daa9e4fb813dbb5ad00ae0a084f07f58399324dd70e906";
        this.HashOverAllExtentViews = "5fae06be83f62e86b71260bebb0e53a51d8b533588febbefbdcbaf628e514062";
        this.ViewCount = 62;
    }

编辑:为什么是最佳实践信息

请参阅MSDN 上有关有界上下文的 Julie Lerman 文章

于 2013-05-15T15:36:46.143 回答