EntityFramework 4.1 EdmMetadata ModelHash

时间:2011-05-17 23:20:18

标签: deployment migration entity-framework-4.1

我正在尝试从Dev到Test部署EF 4.1 Code-First应用程序,而不会让EF“吹走”整个数据库。

我将数据库从Dev复制到Test,重建应用程序并部署代码。对于EF仍然认为它需要重建数据库或数据模型是不同的。如何预测应用程序在部署到其他服务器时希望看到哪个ModelHash?

据我所知,两个版本之间的唯一区别是我用来构建它们的配置(一个是Test,另一个是Dev)。

2 个答案:

答案 0 :(得分:0)

如果您希望其他人使用您的数据库,现在每次都必须重新创建它。

我设置了我的DB Initializer = CreateDatabaseIfNotExists

然后删除" EdmMetadata"来自DB的表。

我不确定这是否是"正确"这样做的方式。但它对我有用。

答案 1 :(得分:0)

System.Data.Entity.Infrastructure.EdmMetadata.TryGetModelHash(DbContext)

将返回模型的哈希字符串。 这就是EF希望在EdmMetadata表的ModelHash列中看到的内容。