关于Entity Framework 的Code First模式生成的_MigrationHistory表的说明

在EF6中,当我们用Code First的模式进行编程时,EF会自动创建_MigrationHistory表包含以下4个字段:

 
  1. MigrationId: 就是在Add-Migration指令中指定的<版本名>,EF会自动在前面加上时间戳

  2. ContextKey: 主要作用是对Model进行分组,这样不同项目的Model可以在同一个DB中互不干扰

  3. Model:EF会基于DBContext中包含的所有Entity Model生成字节数组,核心代码如下所示

  4. ProductVersion:生成这个Migration的EF的版本号

生成Model的核心:

 
  1. public virtual byte[] Compress(XDocument model)

  2. {

  3. DebugCheck.NotNull(model);

  4.  
  5. using (var outStream = new MemoryStream())

  6. {

  7. using (var gzipStream = new GZipStream(outStream, CompressionMode.Compress))

  8. {

  9. model.Save(gzipStream);

  10. }

  11.  
  12. return outStream.ToArray();

  13. }

  14. }

猜你喜欢

转载自blog.csdn.net/xiaoguan_liu/article/details/85680283