我正在使用实体框架迁移和代码优先,最近遇到了一个非常奇怪的问题。该问题已在 4.3.1 和 4.4 版本中重现。
EF 认为上下文发生了变化,而实际上并没有。当我更改解决方案的路径时会发生这种情况。例如:如果我的解决方案位于 C:\integration\something.sln 迁移可能会工作,但如果现在我将路径更改为 C:\development\something.sln 并重新构建解决方案,迁移将引发异常说数据库中有待处理的更改。(当然源代码没有任何变化。
我使用 IL Disassembler 创建输出程序集的转储,使用 BeyondCompare 我发现存在差异。我假设数据是相同的,但它的写入顺序不同......
EF 如何确定上下文是否发生了变化?汇编校验和是否有可能出现不同并导致 EF 认为发生了变化?
任何想法都是最受欢迎的......