我正在尝试从Dev到Test部署EF 4.1 Code-First应用程序,而不会让EF“吹走”整个数据库。
我将数据库从Dev复制到Test,重建应用程序并部署代码。对于EF仍然认为它需要重建数据库或数据模型是不同的。如何预测应用程序在部署到其他服务器时希望看到哪个ModelHash?
据我所知,两个版本之间的唯一区别是我用来构建它们的配置(一个是Test,另一个是Dev)。
答案 0 :(得分:0)
如果您希望其他人使用您的数据库,现在每次都必须重新创建它。
我设置了我的DB Initializer = CreateDatabaseIfNotExists
然后删除" EdmMetadata"来自DB的表。
我不确定这是否是"正确"这样做的方式。但它对我有用。
答案 1 :(得分:0)
System.Data.Entity.Infrastructure.EdmMetadata.TryGetModelHash(DbContext)
将返回模型的哈希字符串。 这就是EF希望在EdmMetadata表的ModelHash列中看到的内容。