如何解压/读取EF 4.3 Code First Migrations __MigrationHistory表中存储的压缩模型?
我在this comment中发现了一个提示,我可以使用zip/gzip解压它,但是我不知道我到底应该如何做。
问题是我更改了ef模型类中的某些内容,但是当我调用"add- migration“时,会生成一个空的迁移列表。我认为这是因为我的模型类的更改已经分配给现有的迁移:(
发布于 2013-04-10 22:46:02
(这可能是一个很好的起点-在您的情况下不会起作用)
我认为你可能会发现这很有用--你“”需要在相反的方向上解决它,我想(我只是在这里暗示可能的方向,你必须检查它,测试自己)……
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 one (如果需要,我稍后会链接)。
阅读器:
实际上,这可能更接近你想要的:
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中
https://stackoverflow.com/questions/15922984
复制相似问题