【发布时间】:2015-03-05 04:38:22
【问题描述】:
我想通过将 DbCompiledModel 缓存到磁盘来减少 EF6 中的启动时间。
为 DbContext 编写 EDMX 文件很容易:
EdmxWriter.WriteEdmx(myDbContext, XmlWriter.Create(@"C:\temp\blah.xml"))
而且很容易将 DbCompiledModel 传递给 DbContext:
var db = new DbContext(connectionString, myDbCompiledModel)
但是似乎没有任何方法可以将 EDMX 文件从磁盘读取到 DbCompiledModel!我该怎么做?
请注意,我已在此 EF6 分支版本中使用 EdmxReader 工具成功实施了解决方案:
https://github.com/davidroth/entityframework/tree/DbModelStore
但是我不愿意在生产环境中使用分支版本。我尝试从这个分支中提取 EdmxReader 实用程序,但它依赖于我无法访问的 DbCompiledModel 的内部构造函数。
那么,如何从磁盘中获取 EDMX 文件并将其转换为 DbCompiledModel?
【问题讨论】:
标签: entity-framework ef-code-first edmx entity-framework-6.1