如何解压缩/读取存储在 EF 4.3 Code First Migrations __MigrationHistory 表中的压缩模型?
我在这条评论中发现了一个提示,我可以使用 zip/gzip 解压缩它,但我不知道我应该如何做到这一点。
问题是我在我的 ef 模型类中改变了一些东西,但是当我调用“add-migration”时,会生成一个空的迁移。我认为这是因为我的模型类的更改已经分配给现有的迁移:(
如何解压缩/读取存储在 EF 4.3 Code First Migrations __MigrationHistory 表中的压缩模型?
我在这条评论中发现了一个提示,我可以使用 zip/gzip 解压缩它,但我不知道我应该如何做到这一点。
问题是我在我的 ef 模型类中改变了一些东西,但是当我调用“add-migration”时,会生成一个空的迁移。我认为这是因为我的模型类的更改已经分配给现有的迁移:(
(这可能是一个很好的起点 - 不适用于您的情况)
我认为您可能会发现这很有用-我认为您“只是”需要朝相反的方向解决(我只是在这里暗示可能的方向,您必须检查一下,测试自己)...
http://brice-lambson.blogspot.com/2012/05/using-entity-framework-code-first-with.html
它使用以下代码...
private byte[] GetModel(TContext context)
{
using (var memoryStream = new MemoryStream())
{
using (var gzipStream = new GZipStream(
memoryStream,
CompressionMode.Compress))
using (var xmlWriter = XmlWriter.Create(
gzipStream,
new XmlWriterSettings { Indent = true }))
{
EdmxWriter.WriteEdmx(context, xmlWriter);
}
return memoryStream.ToArray();
}
}
序列化模型。
然而,据我所知(如果我理解正确的话)你需要它在另一个方向......
快速搜索没有显示等效项reader
- 您可以下载最新的EF6 代码- 或者还可以找到 EF5 代码(如果需要,我稍后会链接)。
读者:
实际上这可能更接近你想要的:
http://edmxdom.codeplex.com/
(我没有尝试过,但从 MS 链接)
并检查有关使用的响应MetadataWorkspace
如果您需要有关该主题的更多信息,MetadataWorkspace
我将发布我在该主题上发表的一些帖子。您可以获得大部分信息 - 您需要对EdmxWriter
正在做的事情进行“反向”排序。
本质上,您正在寻找entity framework Edmx reader
.
EdmxDOM:
我只是快速检查了一下——它似乎正在做你需要的 Edmx 格式管理。
这是一个“VB”项目——但你可以完成它
似乎有一个“读者”(再次,不确定,刚刚经历过这个,正如我对作者的了解 - 但从未与这部分工作过,方向)......
Public Sub LoadFile(ByVal fileName As String)
在里面Edmx.vb