EF 4.3 Code First迁移 - 解压缩__MigrationHistory模型

时间:2013-04-10 10:12:45

标签: ef-code-first entity-framework-4.3 ef-migrations

如何解压缩/读取存储在EF 4.3 Code First Migrations __MigrationHistory表中的压缩模型?

我在this comment中找到了一个提示,我可以使用zip / gzip解压缩它,但我不知道我应该怎么做。

问题是我在我的ef模型类中改变了一些东西,但当我调用“add-migration”时,会产生一个空的迁移。我认为这是因为我的模型类的更改已经分配给现有的迁移:(

1 个答案:

答案 0 :(得分:2)

(这可能是一个很好的起点 - 在您的情况下不起作用)

我认为你可能会发现这很有用 - 你强烈地想要'需要在相反的方向上解决这个问题,我想(我只是暗示这可能是方向,你我必须检查一下,自己测试一下...... ...

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 code - 或者也可以找到EF5(如果需要,我会稍后链接)。

读者:

实际上这可能更接近你想要的东西:

http://edmxdom.codeplex.com/
(我没有试过,但是从MS链接)

http://social.msdn.microsoft.com/Forums/en-US/adodotnetentityframework/thread/1546548f-9f90-4cc2-b1b2-28cf7e9d1cb5/

并检查有关使用MetadataWorkspace

的回复

如果您需要有关MetadataWorkspace的更多信息,我会发布一些关于该主题的帖子。您可以获得大部分信息 - 您需要对EdmxWriter正在做的事情进行“反向”排序。

基本上,你正在寻找entity framework Edmx reader

EdmxDOM:

我刚刚快速检查了它 - 它似乎正在进行你需要的Edmx格式管理 这是一个'VB'项目 - 但你可以通过那个

似乎有一个“读者”(再次,不确定,只是通过这个,因为我知道作家 - 但从未使用过这部分,方向)......

Public Sub LoadFile(ByVal fileName As String)  

Edmx.vb