在EF6中,当我们用Code First的模式进行编程时,EF会自动创建_MigrationHistory表包含以下4个字段:
MigrationId: 就是在Add-Migration指令中指定的<版本名>,EF会自动在前面加上时间戳
ContextKey: 主要作用是对Model进行分组,这样不同项目的Model可以在同一个DB中互不干扰
Model:EF会基于DBContext中包含的所有Entity Model生成字节数组,核心代码如下所示
ProductVersion:生成这个Migration的EF的版本号
生成Model的核心:
public virtual byte[] Compress(XDocument model)
{
DebugCheck.NotNull(model);
using (var outStream = new MemoryStream())
{
using (var gzipStream = new GZipStream(outStream,CompressionMode.Compress))
{
model.Save(gzipStream);
}
return outStream.ToArray();
}
}
查看更多关于关于EF框架的Code First模式生成的_MigrationHisto的详细内容...
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did252470