EF Code First 4.3 DbContext生命周期?

Oce*_*t20 5 entity-framework ef-code-first dbcontext ef-migrations entity-framework-4.3

我已经搜索过,但在这个主题上找不到多少.有没有人看过DBContext的简明"操作顺序",包括实例化,验证,保存等等?我主要是好奇,因为在使用我的EF 4.3 Code First上下文的LINQPad时,它会在我自己的任何一个之前运行两个查询.一个与迁移历史有关,我理解是因为我们正在使用EF迁移,它正在尝试查看是否需要自动更新,而另一个是EdmMetadata表,我不明白,因为它听起来像是如果我们使用EFMigrations,则没有必要.

我对于调用一个查询的原因缺乏理解,这让我想知道DBContext的生命周期的其他部分是否我不知道可能对理解/覆盖有用.提前致谢!

Paw*_*wel 0

对 EdmMetadata 的查询是出于兼容性原因。EF 4.1 没有迁移。为了能够确定模型是否更改,使用了 EdmMetadata 表。假设您使用 EF 4.1 应用程序开发了一个应用程序,然后迁移到 EF 4.3,但没有更改模型。在这种情况下,无需运行迁移、引发异常或接触数据库,因为您的模型没有更改。对 EdmMetadata 表的调用只是为了能够优雅地处理这种情况,并避免在不需要时抛出或触及数据库。我认为 EF 4.3 中没有任何其他此类更改。