【发布时间】:2011-08-16 00:15:23
【问题描述】:
我正在构建服务器和开发服务器上针对完全相同的二进制文件运行一些单元测试。我的一些测试写入数据库,所以当我签入时,如果需要,数据库会由 EF 重建。这几个月来效果很好。今天我们注意到,当我们在 Dev 中启动应用程序时,EF 再次尝试重建数据库。经过一番调查,我意识到构建框上的数据库拆卸和重建正在创建一个具有一个哈希的数据库,而从开发服务器重建的数据库正在创建一个具有另一个(不同)哈希的数据库。
两个环境都针对同一个数据库运行。除了我的构建服务器还部署了几个存储过程之外,它不会有太大的不同。当开发服务器启动并删除数据库时,这些存储过程会被吹走。
但是,这里有一个更广泛的问题,因为我显然不明白是什么影响了 EdmMetadata 表中的 ModelHash。我认为它是基于实际的二进制文件,但它必须不止于此。我在两台机器上运行完全相同的二进制文件。
当不同的环境创建数据库时,这些是它们的ModelHash:
BuildBox: 3E..FA
Local: 3E..FA
Dev: 99..58
请注意,我的本地机器和构建框匹配。这是完全可重复的。有谁知道这里可能发生了什么?
谢谢
【问题讨论】:
标签: .net entity-framework entity-framework-4.1